Búsquedas en varias hojas de un mismo libro
Tengo un libro de Excel con 34 hojas con distintos datos. La primera hoja es un indice de las restantes y he añadido un botón que abre un Inputbox donde introducir el texto que se quiere buscar. La búsqueda en las distintas hojas la he solucionado con un código que encontré en esta misma web.
Cuando encuentra el texto buscado se va a la hoja en la que esta y si hay más hojas con el mismo texto aparece una ventana que lo indica y permite pasar a la siguiente hoja.
Lo que quisiera es que cuando se posiciona en la primera hoja donde ha encontrado el texto buscado me destaque la celda donde esta ese texto para facilitar su visión. Si no es lo que necesito siga buscando en esa hoja la siguiente celda donde aparece el mismo texto y si llega a final pasar a la siguiente hoja donde figure dicho texto. Una vez que se ha encontrado lo que se busca que pueda parar el ciclo para que no continué buscando en otras hojas y finalmente que pueda ordenarle volver a la hoja indice.
El código que he encontré y he utilizado es este:
Private Sub CommandButton1_Click()
Dim buscar
Dim texto As String, titulo As String
texto = "Introduzca su busqueda"
titulo = "Busqueda en todas las hojas del libro"
buscar = InputBox(texto, titulo)
If buscar = "" Then Exit Sub
For Each hoja In Sheets
If hoja.Name <> "INDICE" Then
With hoja.Range("A2:AA65500")
hoja.Activate
Set esta = .Find(buscar)
If Not esta Is Nothing Then
primeracelda = esta.Activate
MsgBox hoja.Name
hoja.Select
End If
End With
End If
Next hoja
End Sub
Gracias
Cuando encuentra el texto buscado se va a la hoja en la que esta y si hay más hojas con el mismo texto aparece una ventana que lo indica y permite pasar a la siguiente hoja.
Lo que quisiera es que cuando se posiciona en la primera hoja donde ha encontrado el texto buscado me destaque la celda donde esta ese texto para facilitar su visión. Si no es lo que necesito siga buscando en esa hoja la siguiente celda donde aparece el mismo texto y si llega a final pasar a la siguiente hoja donde figure dicho texto. Una vez que se ha encontrado lo que se busca que pueda parar el ciclo para que no continué buscando en otras hojas y finalmente que pueda ordenarle volver a la hoja indice.
El código que he encontré y he utilizado es este:
Private Sub CommandButton1_Click()
Dim buscar
Dim texto As String, titulo As String
texto = "Introduzca su busqueda"
titulo = "Busqueda en todas las hojas del libro"
buscar = InputBox(texto, titulo)
If buscar = "" Then Exit Sub
For Each hoja In Sheets
If hoja.Name <> "INDICE" Then
With hoja.Range("A2:AA65500")
hoja.Activate
Set esta = .Find(buscar)
If Not esta Is Nothing Then
primeracelda = esta.Activate
MsgBox hoja.Name
hoja.Select
End If
End With
End If
Next hoja
End Sub
Gracias
1 respuesta
Respuesta de Elsa Matilde
1