Buscar texto con macro?

Tengo un archivo de excel con 2 hojas, una datos y la otra catalogo, lo que quiero es que cuando estoy en la hoja datos, cuando escriba algo en una celda, al activar el macro busque lo que escribí en esa celda en la hoja catalogo, y me mande mande a lo encontrado en la hoja catalogo, es decir que si escribo en una celda de la hoja datos la palabra "clientes" estando posicionado en esa celda al activar el macro me cambie a la búsqueda hecha en la hoja catalogo, estuve tratando de crear el macro con grabar macro pero no pude.

1 respuesta

Respuesta
2

¿Lo qué encuentre en dónde lo quieres?

¿O quieres que se cambie a la hoja "catalogo" y te posicione en la primer palabra que encuente?

Saludos. Dam

si asi es quiero que se cambie a catalogo y me posicione en la primer palabra que encuentre.

Sigue las Instrucciones para un botón y ejecutar la macro
1. Abre tu libro de Excel

2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Ahora para crear un botón, puedes hacer lo siguiente:
6. Inserta una imagen en tu libro y en la hoja "datos", elige del menú Insertar / Imagen / Autoformas
7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona Asignar macro / Selecciona: buscar_palabra
9. Aceptar.
10. Para ejecutarla dale click a la imagen.

Sub buscar_palabra()
'por.dam
palabra = Range("C5")
Set rango = Sheets("catalogo").Cells.Find(palabra)
If rango Is Nothing Then
'"No se encontró "
MsgBox "La palabra " & palabra & " no se encontró", vbInformation
Else
Sheets("catalogo").Select
Range(rango.Address).Select
End If
End Sub

En la macro, cambia en esta línea, la celda C5, por la celda en la que deseas poner el dato
palabra = Range("C5")

Saludos. Dam
Si es lo que necesitas.

esa formula si funciona como indicas sin embargo lo que necesito es que busque lo que escribo en la celda acitva, ya que avanzo mucho en la hoja y pierdo mucho tiempo si tengo que estar regresando a una determinada celda como en el ejemplo la c5, hay alguna manera de que busque lo escribo en la celda que este activa?

Tienes que pararte en la celda con el dato que quieres buscar.

Cambia la macro por esta

Sub buscar_palabra()
'por.dam
palabra = ActiveCell

Set rango = Sheets("catalogo").Cells.Find(palabra)
If rango Is Nothing Then
'"No se encontró "
MsgBox "La palabra " & palabra & " no se encontró", vbInformation
Else
Sheets("catalogo").Select
Range(rango.Address).Select
End If
End Sub

Saludos. Dam
Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas