Macro para traer datos de varias hojas con condición

El libro tiene varias hojas, necesito traer datos de una tabla de alguna de ellas.

Tengo una macro escrita, funciona bien y hace lo que necesito, pero lee todas las hojas del libro..

Necesito que verifique un valor en la celda ( H8 = subreceta ) y si es verdadero extraiga los datos, si no, busque en la próxima hoja.

Si alguien puede ayudarme estaré muuuy agradecido..

Sub ExtraerValores()
Dim i As Long
Dim BuscarHoja As Boolean

On Error Resume Next
BuscarHoja = (Worksheets("SUB-RECETAS").Name <> "")

ActiveSheet.Name = "SUB-RECETAS"

Sheets("DatosExtraidos").Activate

Sheets("DatosExtraidos").Cells.Select

Selection.ClearContents

For i = 1 To Sheets.Count
Sheets("SUB-RECETAS").Range("B" & i).Value = Sheets(i).Range("B2").Value 'Nombre Subreceta
Sheets("SUB-RECETAS").Range("C" & i).Value = Sheets(i).Range("i9").Value 'cantidad preparada
Sheets("SUB-RECETAS").Range("H" & i).Value = Sheets(i).Range("I11").Value 'Costo de la receta
Sheets("SUB-RECETAS").Range("D" & i).Value = Sheets(i).Range("i13").Value 'tiempo preparacion
Sheets("SUB-RECETAS").Range("E" & i).Value = Sheets(i).Range("i15").Value 'tiempo de coccion
Sheets("SUB-RECETAS").Range("F" & i).Value = Sheets(i).Range("i17").Value 'costo de prearacion
Sheets("SUB-RECETAS").Range("G" & i).Value = Sheets(i).Range("i19").Value 'costo de coccion

Next i

Sheets("SUB-RECETAS"). Range("B3").Value = "SUBRECETA" 'Coloca el encabezado de los datos en la celda A1 en la hoja DatosExtraidos
Sheets("SUB-RECETAS"). Range("C3").Value = "CANTIDAD PREPARADA" 'Coloca el encabezado de los datos en la celda C1 en la hoja DatosExtraidos
Sheets("SUB-RECETAS"). Range("D3").Value = "TIEMPO PREPARACION" 'Coloca el encabezado de los datos en la celda D1 en la hoja DatosExtraidos
Sheets("SUB-RECETAS"). Range("E3").Value = "TIEMPO COCCION" 'Coloca el encabezado de los datos en la celda D1 en la hoja DatosExtraidos
Sheets("SUB-RECETAS"). Range("F3").Value = "COSTO PRERACION" 'Coloca el encabezado de los datos en la celda D1 en la hoja DatosExtraidos
Sheets("SUB-RECETAS"). Range("G3").Value = "COSTO COCCION" 'Coloca el encabezado de los datos en la celda D1 en la hoja DatosExtraidos
Sheets("SUB-RECETAS"). Range("H3").Value = "COSTO RECETA" 'Coloca el encabezado de los datos en la celda D1 en la hoja DatosExtraidos

End sub

Respuesta

Podrías subir una foto de lo que quieres

Hola Armando.: Gracias por tu preocupación.

La macro tal como está lee y ordena los datos de una tabla la que va de H8 a I19.

Hasta ahí está bien.

El problema es que busca esa tabla en TODAS las hojas del libro y no solo las que tienen este formato.

y arroja los resultados de todas las hojas... asi

DE AQUÍ SOLO SIRVE LO QUE ESTÁ EN AMARILLO. LO DE COLOR ROSA SON VALORES DE HOJAS QUE NO DEBERÍA LEER. DEBERÍA QUEDAR ASI..

Lo que necesito es que la macro verifique un valor en la celda H8 (de la primera imagen) y si es correcta, traiga los datos. Si no es correcto que siga buscando hasta dar con la próxima hoja de sub receta..

Espero haberme explicado lo suficiente y puedas ayudarme.. 

Desde ya, Gracias 

Esta macro recorre hojas del libro y si existe valor subreceta copia la información a la hoja resumen

¡Gracias! 

La copio, acondiciono y la pruebo.. luego te cuento..

Gracias.. gracias.. gracias.. has sido muy amable..!! 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas