¿No entendí la pregunta me puedes dar más detalles?
Cesar: quiero adrte las gracias por el interés que tienes en ayudarme. Con respecto a la pregunta quiero contarte cual es mi problema para ver si así soy más claro. En la empresa donde trabajo, los proveedores me envían sus listas de precios a través del correo electrónico en formato Excel. Lo que quiero es crear un formulario, en el cual yo digite alguna referencia de producto, y se realice una búsqueda de esta referencia en cada una de las hojas que me han enviado los poroveedores, si la encuentra, que me muestre la información de está, como precio, etc. Te agradezco la colaboración que me puedas prestar. Saludos 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 envían 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 búsqueda en todas las hojas del libro de la referencia deseada, las búsquedas 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 titulo 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 algún 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.