Traer Datos, dependiendo de si el nombre esta en la "referencia"

Tengo un documento con 31 hojas.

La primera ( Hoja 1 ) tiene datos en las primeras 3 columnas ( referencia, fecha y valor ) son muchísimos y están desordenados.

Las demás hojas tienen un valor de referencia en la celda U1, que obviamente corresponden a un valor de la hoja 1, columna A ( referencia ) ...

Lo que necesito es una macro, que busque el valor de referencia que esta en la Celda U1 de todas las hojas en la hoja 1 y copie todos los valores que corresponden... Esto para todas las hojas.

Me urge ayuda,

1 Respuesta

Respuesta
1

H o l a : Podrías explicarlo con ejemplos.

Por ejemplo, en la hoja3, en la celda U1, tienes la referencia: "ER01", ¿esta referencia quieres que se busque en la hoja1, columna A, correcto?

¿Si encuentro la "ER01" en la hoja1, columna A, qué copio? ¿Y en dónde lo pego? Tienes que decirme exactamente qué celdas de cuál hoja se tienen que copiar y decirme exactamente en cuál hoja y en cuáles celda se tiene que pegar. Sigue con el ejemplo que empecé.

Claro, de hecho ya me cambiaron los términos...
Te lo pongo todo de la forma más clara que puedo...
Tengo un Documento Llamado "Histórico vec." que tiene en la columna A, B, C Datos.
Son muchísimos y están desordenados.
Luego tengo un documento llamado "Base Rend" el cual tiene varias hojas, dentro de todas esas, la celda U1, tiene un valor, tipo "S_6789" y otros dicen "No".
Lo que necesito, es una macros, que busque en el documento "histórico vec." dentro de la columna A, los datos que están en la celda U1, y me peque en las celdas V1 y W1, los datos que correspondan, esto para todas las hojas...
Nota. Los valores de la celda U1, se repiten en la columna A, pero tienen distintos Datos en B, C es decir... misma referencia pero con distintos datos.
Ayuda por favor compañero.

Sigo si entender.

Voy a tratar de resumir lo que tienes:

1. Tienes un libro llamado"Base Rend", ¿correcto?

2. En el libro "Base Rend" tienes varias hojas, ¿correcto?

3. En el libro "Base Rend" tienes una hojaX, en esa hojaX en la celda U1 tienes el valor "S_6789", ¿correcto?

4. Quieres buscar el valor "S_6789" en el libro "Histórico vec.", ¿en cuál hoja? Voy a suponer que la hoja se llama "Hoja1", entonces, quieres buscar el valor "S_6789", en el libro "Histórico vec.", en la Hoja1, en la columna A.

5. Aquí necesito 3 respuestas:

5.1 Si no encuentro el valor, ¿qué hago?

5.2 Si encuentro el valor una sola vez, qué hago, ¿supongo qué tomo el valor de la columna B y C y en dónde los pego?

5.3 Si encuentro el valor más de una vez, ¿qué hago?

E spero tus respuestas en ese orden y muy breves.

5.1 si no se encuentra el valor no pasa nada, buscamos el de la siguiente hoja 

5.2 los valores de la columna B y C van en la columna V1 y W1 de cada hoja.

5.3 los valores tipo "S_6789" salen varias veces en la columna, pero los datos de la columna B y C don diferentes... eso es lo importante, copiar TODOS LOS datos, de todas las veces que salga "S_6789" 

PD: esto lo necesito para todas las hojas del documento.

Te agradezco muchísimo ! 

2. Si y necesito que esta búsqueda aplique a todas las hojas

5.1 no pasa nada, seguimos con la siguiente hoja

5.2 si, lo que nos interesa son los valores de la columna B y C

5.3 el valor se repite más de una vez, lo importante es sacar los datos de la columna B y C que corresponden a ese valor... esos datos de B y C cambian aunque el valor es el mismo. 

Muchas gracias Dante ! 

 H o l  a :

No respondiste mis dudas en el orden sugerido.

Espero tus respuestas en el siguiente orden:

1. Tienes un libro llamado"Base Rend", ¿correcto?

2. En el libro "Base Rend" tienes varias hojas, ¿correcto?

3. En el libro "Base Rend" tienes una hojaX, en esa hojaX en la celda U1 tienes el valor "S_6789", ¿correcto?

4. Quieres buscar el valor "S_6789" en el libro "Histórico vec.", ¿en cuál hoja? Voy a suponer que la hoja se llama "Hoja1", entonces, quieres buscar el valor "S_6789", en el libro "Histórico vec.", en la Hoja1, en la columna A.

5. Aquí necesito 3 respuestas:

5.1 Si no encuentro el valor, ¿qué hago? Pero si no lo encuentro en ninguna de las hojas, ¿qué hago?

5.2 Si encuentro el valor una sola vez, qué hago, ¿supongo qué tomo el valor de la columna B y C y en dónde los pego?

5.3 Si encuentro el valor más de una vez, ¿qué hago?, es decir, si lo encuentro 3 veces, la primera vez pongo el resultado en V1 y en W1, ¿pero el segundo resultado y le tercer resultado en dónde los pongo?

1. Si, correcto 

2. Si, correcto

3. Si

4. En la Hoja1 columna A 

5.1 el valor siempre está en la columna. 

5.2 si, queremos los valores de la columna B y C 

5.3 traer todos los datos. los valores se repiten muchas veces pero los datos de la columna B y C no son los mismos

Nuevamente, te agradezco mucho Dante ! 

1. Si, correcto 

2. Si, correcto

3. Si

4. En la Hoja1 columna A 

5.1 el valor siempre está en la columna. 

5.2 si, queremos los valores de la columna B y C 

5.3 traer todos los datos. los valores se repiten muchas veces pero los datos de la columna B y C no son los mismos, la primera vez en la V1 y W1 luego en la V2 y W2 y así sucesivamente. 

Nuevamente, te agradezco muchisimo Dante ! 

Te anexo la macro.

Sub TraerDatos()
'Por.Dante Amor
    Set l1 = ThisWorkbook
    Set l2 = Workbooks("Histórico vec.xlsx")
    Set h2 = l2.Sheets("Hoja1")
    For Each h In l1.Sheets
        valor = h.Range("U1")
        fila = 1
        If valor <> "" Then
            Set r = h2.Columns("A")
            Set b = r.Find(valor, lookat:=xlWhole)
            If Not b Is Nothing Then
                celda = b.Address
                Do
                    'detalle
                    h.Cells(fila, "V") = h2.Cells(b.Row, "B")
                    h.Cells(fila, "W") = h2.Cells(b.Row, "C")
                    fila = fila + 1
                    Set b = r.FindNext(b)
                Loop While Not b Is Nothing And b.Address <> celda
            End If
        End If
    Next
    MsgBox "Fin"
End Sub

Sigue las instrucciones.

1. Pon la macro en un módulo dentro del libro "Base Rend"

2. Abre el libro "histórico vec.xlsx"

3. En el libro "histórico vec.xlsx", tienes que tener una hoja llamada "Hoja1", en la columna A deberán estar los valores.

4. Regresa al libro "Base Rend"

5. Ejecuta la macro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas