Macro para Buscar y reemplazar

14/03/2007 - 16:42 por Oszkar M^ | Informe spam
Buenas tardes colegas del foro.

Mi inquietud es la siguiente: He utilizado la grabadora de macros para
establecer el código de una macro que me permita buscar un error en toda la
hoja de excel y lo reemplace por la información que yo quiera. El código
generado por la grabadora de excel es el siguiente:


Sub Macro5()
'
' Macro5 Macro
' Macro grabada el 14/03/2007 por MP
'

'
Cells.Select
Selection.Replace What:="#¡REF!", Replacement:="Cuenta", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub



El problema es que el código no funciona. Se supone que debería buscar el
error "#¡REF!" en TODA la hoja y hacer un reemplazo de todos los que
encuentre; sin embargo, no funciona, es decir, no busca y no reemplaza.

Posteriormente puse nuevamente a grabar otra macro, pero esta vez para una
región de la hoja mucho mas pequeña (el anterior abarcaba toda la hoja) y
esta vez si que funciona, y es muy raro, por que comparo los códigos
generados y son iguales.


Alguien me puede decir que es lo que funciona mal o cómo lo puedo corregir?
Saludos,

Oszkar M^
Sevilla - España
 

Leer las respuestas

#1 Orfao
15/03/2007 - 05:08 | Informe spam
En este ejemplo se buscan todas las celdas del rango A1:A500 en la hoja de
cálculo uno que contienen el valor 2 y se cambia ese valor por 5.

With Worksheets(1).Range("a1:a500")
Set c = .Find(2, lookin:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Value = 5
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With


Me alimento del conocimiento de todos


"Oszkar M^" wrote:

Buenas tardes colegas del foro.

Mi inquietud es la siguiente: He utilizado la grabadora de macros para
establecer el código de una macro que me permita buscar un error en toda la
hoja de excel y lo reemplace por la información que yo quiera. El código
generado por la grabadora de excel es el siguiente:


Sub Macro5()
'
' Macro5 Macro
' Macro grabada el 14/03/2007 por MP
'

'
Cells.Select
Selection.Replace What:="#¡REF!", Replacement:="Cuenta", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub



El problema es que el código no funciona. Se supone que debería buscar el
error "#¡REF!" en TODA la hoja y hacer un reemplazo de todos los que
encuentre; sin embargo, no funciona, es decir, no busca y no reemplaza.

Posteriormente puse nuevamente a grabar otra macro, pero esta vez para una
región de la hoja mucho mas pequeña (el anterior abarcaba toda la hoja) y
esta vez si que funciona, y es muy raro, por que comparo los códigos
generados y son iguales.


Alguien me puede decir que es lo que funciona mal o cómo lo puedo corregir?
Saludos,

Oszkar M^
Sevilla - España

Preguntas similares