Condicionar pregunta en visual excel

Hola experto, mi pregunta es la siguiente, en una hoja de excel tengo datos en la columna A, desde la A2 hasta la A1000, lo quiero hacer, es crear un botón que al presionarlo me busque en toda la columna A si los datos escritos cumplen con una condición, y si es así cambie lo que aparece por un nuevo texto.
Me explico,
A1 = 1
A2 = 1
A3 = 3
A4 = 1
A5 = 2
y así sucesivamente, lo que quiero hacer es una condición por ejemplo if Range("A1").value = "1" then
Range("A1").value = "Terminado"
Pero no quiero tener que hacerlo uno por uno, quiero una forma que tomando toda la columna pregunte por si algún o algunos datos cumplen la condición se cambie, si no no.
Espero haberme explicado bien, quedo atenta a tus comentarios.
Gracias.

2 Respuestas

Respuesta
1
Ok.
Acá el macro:
Sub reemplazo()
Dim t As Long
Dim r As Integer
'4c7569735f50
t = Application.WorksheetFunction.CountIf(Range("A:A"), "1")
If t = 0 Then
    MsgBox "No hay registros que cumplen la condición", vbInformation
    Exit Sub
Else
    r = MsgBox("Existen : " & t & " Registros que cumplen la condición - deseas ejecutar el reemplazo ? ", vbYesNo)
End If
If r = 7 Then Exit Sub
    Columns("A:A").Select
    Selection.Replace What:="1", Replacement:="Terminado", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
    Range("A1").Select
End Sub
Respuesta
1
Prueba esto a ver si es lo que quieres
Sub cambia()
Range("a1").Select
Do While Not IsEmpty(ActiveCell)
If ActiveCell = 1 Then
resp = MsgBox("La celda actual contiene el numero uno, desea cambiar por terminar", vbOKCancel)
    If resp = 1 Then
    ActiveCell = "Terminado"
    ActiveCell.Offset(1, 0).Select
    Else
    ActiveCell.Offset(1, 0).Select
    End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas