Contador en una macro

Hola experto tengo dudas...
prove un codigo de un  contador que me mandaron pero  no remplaza todos porque sera?
me remplaza partes de cada bloque
este codigo ya lo adapte al contador que me mandaron espero que me puedas ayudar
Dim s As Integer
s = 0
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
Do While True
On Error GoTo salida
Cells.Find(What:=Format(UCase(Format(fecha1, "MMMM")) & "_" & Format(fecha1, "yyyy") & "_" & Format(fecha1, "dd")), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.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"), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
s = s + 1
On Error GoTo salida
Cells.Find(What:=Format(UCase(Format(fecha1, "MMMM")) & "_" & Format(fecha1, "yyyy") & "_" & Format(fecha1, "dd")), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.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"), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
s = s + 1
On Error GoTo salida
Cells.Find(What:=Format(UCase(Format(fecha1, "yyyy")) & "_" & Format(fecha1, "MMMM") & "_" & Format(fecha1, "dd")), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.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"), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
s = s + 1
On Error GoTo salida
Cells.Find(What:=Format(UCase(Format(fecha1, "MMMM")) & "_" & Format(fecha1, "yyyy") & "_" & Format(fecha1, "dd")), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.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"), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
s = s + 1
On Error GoTo salida
Cells.Find(What:=Format(UCase(Format(fecha1, "MMMM")) & "_" & Format(fecha1, "dd")), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Replace What:="[FAX_CPI_" & UCase(Format(fecha1, "MMMM")) & "_" & Format(fecha1, "dd"), Replacement:="[FAX_CPI_" & UCase(Format(fecha2, "MMMM")) & "_" & Format(fecha2, "dd"), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
s = s + 1
On Error GoTo salida
Cells.Find(What:=Format(fecha1, "ddmmyy"), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Replace What:="[DIARIO" & Format(fecha1, "ddmmyy"), Replacement:="[DIARIO" & Format(fecha2, "ddmmyy"), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
s = s + 1
On Error GoTo salida
Cells.Find(What:=Format(fecha1, "ddmmyy"), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Replace What:="[BALANCE " & Format(fecha1, "ddmmyy"), Replacement:="[BALANCE " & Format(fecha2, "ddmmyy"), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
s = s + 1
Loop
salida:
MsgBox ("se reemplazaron: " & s & " celdas")
End Sub

1 Respuesta

Respuesta
1
Por lo que puedo intuir leyendo el código es que cuando comienzas el ciclo "do while" lo enlazas a un "true¨. Lo que debes hacer es determinar que true es el que estas condicionando, por ejemplo :
do while activecell.value = "xxxx"
loop
O tambien creando una variable booleana ( si o no ) para que puedas cerrar el ciclo cuando la condicion sea verdadera o falsa, por ejemplo :
dim x as boolean
x=false
do while x = false
loop
Prueba con esto, o enviame los tabulados a mi correo para poder localizar con mayor precision la inconsistencia del código.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas