Macro para buscar datos iguales en parte.

Me explico.

Tengo una documento excel dividido en varias hojas (Hoja a, b, c i asi hasta completar el abecedario). En cada hoja hay un conjunto de datos colocados según el orden alfabético (en hoja A los que empiezan por a) i asi sucesivamente. Tengo un macro que busca en todo el documento, pero me devuelve el primer resultado que encuentra, pero no los otros. Por ejemplo, en una hoja tengo el dato "acta" i en otra hoja el data "resumen acta". Cuando le pido que busque acta solo me dirige al primero pero no al segundo. Como puedo hacer para encontrar todos los que se refieren a "acta"???

Ahi les dejo la macro que uso....

Sub VariasHojas()
Dim buscar
Dim texto As String, titulo As String
texto = "Digues el que busques"
titulo = "Cerca"
buscar = InputBox(texto, titulo)
If buscar = "" Then Exit Sub
For Each hoja In Sheets
If hoja.Name <> "Hoja27" Then
With hoja.Range("A2:AA65500")
Set esta = .Find(buscar)
If Not esta Is Nothing Then
primeracelda = esta.Address
'opcional: mostrar el nbre de la hoja según consulta original.
MsgBox hoja.Name
hoja.Activate
esta.Select
Exit Sub
End If
End With
End If
Next hoja
End Sub

Tengo un botón para activar esa macro.....

Gracias de antemano.

1 respuesta

Respuesta
1

Se me ocurre esta solución, sigue mis pasos:

En tu archivo crea una pestaña nueva llamada RESUMEN

Después ejecuta es macro:

Sub buscardatos()
fila = 1
valor = InputBox("que dato buscamos???")
If valor = "" Then Exit Sub
For Each hoja In ActiveWorkbook.Sheets
If hoja.Name <> "RESUMEN" Then
Set busca = hoja.UsedRange.Find(valor, LookIn:=xlValues, lookat:=xlPart)
If Not busca Is Nothing Then
ubica = busca.Address
Do
Sheets("resumen").Cells(fila, 1).Value = "rango: " & busca.Address(False, False) & " en la hoja " & hoja.Name
fila = fila + 1
Set busca = hoja.UsedRange.FindNext(busca)
Loop While Not busca Is Nothing And busca.Address <> ubica
End If
End If
Next
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas