Pareo de Datos tipo buscarv, pero con VBA

Primero quiero saludar y agradecer a todos aquellos que nos proporcionan la ayuda necesaria para poder hacer nuestras macros.

En este caso no es lo contrario, quisiera que me ayudaran con un problema que tengo con una base de dato.

Tengo en una hoja (Facturas), el registro histórico de facturas y en otra hoja (Mes Actual) tengo una base de dato mensual, lo que necesito es:

De la hoja (Mes actual), que identifique en la columna K el tipo de documento:

-DVENT

-COMBA

-DGRAL

SI es DVENT, que tome el primer registro de columna J, que es el número de Factura y lo vaya a buscar en la columna H de la hoja (Factura), si lo encuentra que no haga nada, pero si no lo encuentra que vaya a la última celda vacía y copie de la hoja (Mes Actual), el dato de la misma fila de la columna A, B, C, D, E, incluido el número de factura y lo pegue en la hoja de Factura columna A, B, E, F. Que haga ese proceso hasta la última celda con valor de la columna J de la hoja(Mes Actual).

Para los casos de COMBA y DGRAL, es todo lo contrario, si encuentra el dato, que vaya a la hoja (Mes Actual) busque los datos de las columnas siguientes y las pegue en las columnas siguientes pero de la hoja (Factura), es un tipo de buscarv.

La idea es que vaya celda por celda, buscando el dato y realizando las acciones que ya explique.

En verdad necesito mucho su ayuda y desde ya se los agradezco.

1 Respuesta

Respuesta
1

H o l a:

En este punto:

"

SI es DVENT, que tome el primer registro de columna J, que es el número de Factura y lo vaya a buscar en la columna H de la hoja (Factura), si lo encuentra que no haga nada, pero si no lo encuentra que vaya a la última celda vacía y copie de la hoja (Mes Actual), el dato de la misma fila de la columna A, B, C, D, E, incluido el número de factura y lo pegue en la hoja de Factura columna A, B, E, F. Que haga ese proceso hasta la última celda con valor de la columna J de la hoja(Mes Actual).

"

Querrás decir que copie A,B,C,D,E y J y lo pegue en A,B,C,D,E y F?


Para este otro punto:

"

Para los casos de COMBA y DGRAL, es todo lo contrario, si encuentra el dato, que vaya a la hoja (Mes Actual) busque los datos de las columnas siguientes y las pegue en las columnas siguientes pero de la hoja (Factura), es un tipo de buscarv.

"

Puedes especificar "busque los datos de las columnas siguientes", ¿a cuáles columnas te refieres?

Y "las pegue en las columnas siguientes", ¿cuáles columnas?


Sal u dos

Gracias Dante por Responder, yo en mi caso no lo puede hacer antes, pero tratare de explicar de mejor formar lo que  me gustaría que hiciera la macro:

1) Que filtre por DVENT en la columna K, de la hoja Mayor.

2) Que vaya a la primera fila de la columna J que es el numero de factura de la hoja Mayor y tome su valor y lo busque en la columna H de la columna Clientes.

3) si encuentra el mismo valor, que no haga nada.

4) si no encuentra el valor :

a) copie el valor de la columna B de la hoja Mayor y lo pegue en la columna C de la hoja Clientes en la ultima celda vacía de la hoja clientes y hacia el lado que:

b) copie el valor de la columna C de la hoja Mayor y lo pegue en la columna D de la hoja Clientes.

c) copie el valor de la columna H de la hoja Mayor y lo pegue en la columna G de la hoja Clientes.

d) copie el valor de la columna J de la hoja Mayor y lo pegue en la columna H de la hoja Clientes.

e) copie el valor de la columna R de la hoja Mayor y lo pegue en la columna K de la hoja Clientes.

e) copie el valor de la columna F de la hoja Mayor y lo pegue en la columna N de la hoja Clientes.

Para los casos COBMA:

1) Que filtre por COBMA en la columna K, de la hoja Mayor.

2) Que vaya a la primera fila de la columna J que es el numero de factura de la hoja Mayor y tome su valor y lo busque en la columna H de la columna Clientes.

3) SI no lo encuentra que no haga nada,

4) SI lo encuentra que copie del el valor de la columna F de la hoja mayor y lo pegue el la columna R de la hoja Clientes, en la misma linea del valor encontrado.

Para los casos DGRAL:

1) Que filtre por DGRAL en la columna K, de la hoja Mayor.

2) Que vaya a la primera fila de la columna J que es el numero de factura de la hoja Mayor y tome su valor y lo busque en la columna H de la columna Clientes.

3) SI no lo encuentra que no haga nada,

4) SI lo encuentra que copie del el valor de la columna F de la hoja mayor y lo pegue el la columna S de la hoja Clientes, en la misma linea del valor encontrado.

Dante espero que se entienda, y estoy ansioso por tu pronta respuesta, y de verdad muchas gracias

Dante me equivoque en este punto

Que vaya a la primera fila de la columna J que es el numero de factura de la hoja Mayor y tome su valor y lo busque en la columna H de la columna Clientes.

*****EN VEZ DE COLUMNA CLIENTES, ES EN LA HOJA CLIENTES****

Dante Amor, de verdad te agradecería mucho tu ayuda

H o l a:

Envíame tu archivo y me explicas con ejemplos, comentarios, colores, imágenes, etc.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “mauricio1465” y el título de esta pregunta.

Dante hola buenos días, ayer te envié el correo pero se me olvido colocar lo que me solicitaste en el asunto, hoy te lo he vuelto a reenviar, y de verdad no me canso de agradecer tu ayuda.

Dante amor te abra llegado mi correo??

H o   l a:

Esta es la parte de la macro para los datos DVENT

 'En el caso de DVENT
    For i = 2 To h2.Range("I" & Rows.Count).End(xlUp).Row
        If h2.Cells(i, "J") = "DVENT" Then
            Set b = h1.Columns("H").Find(h2.Cells(i, "I"), lookat:=xlWhole)
            If b Is Nothing Then
                u = h1.Range("H" & Rows.Count).End(xlUp).Row + 1
                h1.Cells(u, "C") = h2.Cells(i, "A")
                h1.Cells(u, "D") = h2.Cells(i, "B")
                h1.Cells(u, "G") = h2.Cells(i, "G")
                h1.Cells(u, "H") = h2.Cells(i, "I")
                h1.Cells(u, "K") = h2.Cells(i, "Q")
                h1.Cells(u, "N") = h2.Cells(i, "E")
            End If
        End If
    Next

' : )
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
' : )

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas