Poner un contador en codigo

Ola experto
tengo una duda
deseo poner un contador para saber cuantas celdas remplazo
este es el codigo completo que tengo
fecha1 = InputBox("Fecha que desea sustituir?", "ORIGEN", Now())
If fecha1 = Empty Then Exit Sub 'mejorar con revisión validez fecha
fecha2 = InputBox("Fecha nueva?", "DESTINO", Now())
If fecha2 = Empty Then Exit Sub 'mejorar con revisión fecha
'Le preguntarás al usuario por las fechas a sustituir y la nueva, y
If fecha1 < fecha2 Then
On Error Resume Next
Application.DisplayAlerts = False
MsgBox ("La Fecha que desea actualizar no se encontro")
MsgBox ("Se actualizaran incorrectamente los datos")
Selection.Replace What:="[BALANCE " & Format(fecha1, "ddmmyy"), Replacement:="[BALANCE " & Format(fecha2, "ddmmyy"), _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:= _
False, ReplaceFormat:=False
Selection.Replace What:="[MORELOS_" & UCase(Format(fecha1, "MMMM")) & "_" & Format(fecha1, "yyyy") & "_" & Format(fecha1, "dd"), Replacement:="[MORELOS_" & UCase(Format(fecha2, "MMMM")) & "_" & Format(fecha2, "yyyy") & "_" & Format(fecha2, "dd")
Selection.Replace What:="[servicios_" & UCase(Format(fecha1, "MMMM")) & "_" & Format(fecha1, "yyyy") & "_" & Format(fecha1, "dd"), Replacement:="[servicios_" & UCase(Format(fecha2, "MMMM")) & "_" & Format(fecha2, "yyyy") & "_" & Format(fecha2, "dd")
Selection.Replace What:="[rp" & Format(fecha1, "dd"), Replacement:="[rp" & Format(fecha2, "dd"), _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:= _
False, ReplaceFormat:=False
Selection.Replace What:="[DIARIO " & Format(fecha1, "dd"), Replacement:="[DIARIO " & Format(fecha2, "dd"), _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:= _
False, ReplaceFormat:=False
Selection.Replace What:="[CAPTURA_" & UCase(Format(fecha1, "yyyy")) & "_" & Format(fecha1, "MMMM") & "_" & Format(fecha1, "dd"), Replacement:="[CAPTURA_" & UCase(Format(fecha2, "yyyy")) & "_" & Format(fecha2, "MMMM") & "_" & Format(fecha2, "dd")
Selection.Replace What:="[Rep_Subd_Prod_" & UCase(Format(fecha1, "MMMM")) & "_" & Format(fecha1, "yyyy") & "_" & Format(fecha1, "dd"), Replacement:="[Rep_Subd_Prod_" & UCase(Format(fecha2, "MMMM")) & "_" & Format(fecha2, "yyyy") & "_" & Format(fecha2, "dd")
Selection.Replace What:="[MARZO-" & UCase(Format(fecha1, "ddmmyy")), Replacement:="[MARZO-" & UCase(Format(fecha2, "ddmmyy"))
Selection.Replace What:="[FAX_CPI_" & UCase(Format(fecha1, "MMMM")) & "_" & Format(fecha1, "dd"), Replacement:="[FAX_CPI_" & UCase(Format(fecha2, "MMMM")) & "_" & Format(fecha2, "dd")
MsgBox ("Los Datos se han actualizado correctamente")
Else
MsgBox ("Las Fechan estan incorrectas")
End If
donde colocarle el contador
para que me indique cuantas celdas remplazo y mostrarlas en un msgbox
espero me puedas ayudar
de antemano graciasssss

1 Respuesta

Respuesta
1
Tienes muchos bloques de reemplazo de texto, yo lo alguna vez utiliza esta rutina lo que tienes que hacer es pones bloques en cada do while true y cuando marque error te mande al siguiente bloque. Ojala te sirva de ayuda
Dim s As Integer
s = 0
a = InputBox("remplazar")
b = InputBox("por")
Do While True
On Error GoTo salida
Cells.Find(What:=a, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Replace What:=a, Replacement:=b, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
s = s + 1
Loop
salida:
MsgBox ("se reemplazaron: " & s & " celdas")
end sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas