|
Que tal Gabomazo, como vas, bueno hice un pequeño procedimiento para lo que me pides copiando algunas cosas de las ayudas de Visual que siempre son útiles, te cuento como funciona: se supone que tienes copiadas en un libro todas las hojas que te envian tus proveedores con las informaciones de referencias, precios, etc y que en la Hoja4 de tu libro (Este nombre lo puedes cambiar en la macro)vas a obtener un resumen de la busqueda en todas las hojas del libro de la referencia deseada, las busquedas y los resultados se harán en los rangos escritos en la macro (también se pueden modificar).
Al final lo que te arrojará en la hoja4 del libro será una especie de título que te dice que buscaste y en las celdas de abajo al nombre de la hoja donde lo encontró(supongo que será el nombre del proveedor), el valor a la derecha y el de más a la derecha de cada vez que lo encuentre (supongo algo así como precio y forma de pago)
Ensayalo y cualquier cosa me cuentas.
Sub VariasHojas()
Dim buscar
Dim texto As String, titulo As String
texto = "Digite el valor que desea buscar"
titulo = "Busqueda en todas las hojas del libro"
buscar = InputBox(texto, titulo)
If buscar = "" Then Exit Sub
Dim fila As Integer
fila = 2
Worksheets("Hoja4").Select
Range("A1:D20").Select
Selection.ClearContents
ActiveCell.Value = "Resultados para la busqueda de " & buscar
For Each hoja In Sheets
With hoja.Range("A2:A10")
Set esta = .Find(buscar, LookIn:=xlValues)
If Not esta Is Nothing Then
primeracelda = esta.Address
ActiveCell.Offset(fila, 0).Value = hoja.Name
ActiveCell.Offset(fila, 1).Value = esta.Offset(0, 1).Value
ActiveCell.Offset(fila, 2).Value = esta.Offset(0, 2).Value
fila = fila + 1
Do While Not esta Is Nothing And esta.Address <> primeracelda
ActiveCell.Offset(fila, 0).Value = hoja.Name
ActiveCell.Offset(fila, 1).Value = esta.Offset(0, 1).Value
ActiveCell.Offset(fila, 2).Value = esta.Offset(0, 2).Value
fila = fila + 1
Loop
End If
End With
Next hoja
End Sub
Espero que sea lo que necesitas, si no entendí algo o tienes algun problema pregunta que con mucho gusto te ayudaré desde que pueda, si de lo contrario, la respuesta te satisface, te agradezco la finalices con una calificación acorde con la calidad y oportunidad de la misma.
Cordialmente,
CESAR MERA
|