Agrupar Datos y Totalizar Valores según NUMERO

Tenemos una hoja1 con los siguientes datos:

COLUMNAS

B                                               G                       U                              W
NUMERO                          CODIGO              VALOR1              VALOR2

10                                               1                        5
10                                               2                                                        5
20                                               1                       10
20                                               1                       10
20                                               1                       10
20                                               1                       10
20                                               2                                                        20
20                                               2                                                        20

Nota: En CODIGO pueden existir más de dos códigos

Tenemos una hoja2:

C                                              AE                          AF                         AG                      AH

NUMERO                           CODIGO1                VALOR1             CODIGO2          VALOR2

10                                             1                               5                          2                             5
20                                             1                              40                         2                           40

La macro debe coger el NUMERO de la hoja2 ir recorrer y buscarlo en la columna B de la hoja1 totalizar y traer códigos y totales valores y colocarlos en las columnas AE, AF, AG y AH de la hoja2

Nota: En hoja2 el NUMERO (columna C) NO SE REPITE

1 Respuesta

Respuesta
1

H o l a:

Si dices que en código pueden existir más de dos códigos, si existiera un código 3, ¿en dónde estarían los valores del código 3?, ¿En la columna Y? Y si hubiera un código 4, ¿los valores estarían en la AA?

Sal u dos

Buenas noches Dam: Reciba un cordial y respetuoso

Hoja1:

G: Código: Corresponde a Códigos contables, puede tomar los códigos 1,2,3 y 4

En ejercicio: Así como aparece 1 (Debito) y 2 (Crédito) , puede aparecer 1 (Débito) y 4 (Crédito) ó  1 (Debito)  y 3 (Crédito)  , es decir, SIEMPRE van 2 códigos de 4 posibles

U: Valor1: Corresponde al DEBITO

W: Valor2: Corresponde al CREDITO

Agradezco una vez más su colaboración

H o l a:

No entendí tu respuesta, dices que en la columna G pueden existir los códigos 1,2,3 4.

Si aparece el 1, el valor estará en la U y el destino AF

Si aparece el 2, el valor estará en la W y el destino AH

Si aparece el 3, el valor estará en la ¿? Y el destino ¿?

Si aparece el 4, el valor estará en la ¿? Y el destino ¿?

Lo que pasa es que no veo cómo están tus datos y no sé bien cómo estarán tus datos y en dónde voy a poner la información, si pudieras ser un poco más claro con los ejemplos, tal vez si pusieras 2 imágenes, de la hoja1 y de la hoja2, procura que las imágenes se vean las filas, las columnas, los nombres de las hojas y que vengan ejemplos reales.

Dam, Anexo para su análisis, Gracias

Disculpe, el nombre del encabezado de la ultima columna es valor2 y no valor1 como aparece (en ambas hojas). 

En azul: se suma lo de hoja1 y su total en hoja4

Perdona, pero ahora estoy más confundido.

En tu primer ejemplo mencionaste la hoja1 y la hoja2, te pedí 2 imánges una imagen de la hoja1 y otra imagen de la hoja2, pero solamente enviaste una imagen, en esa imagen pusiste todo en una sola hoja, además pusiste un comentario que dice hoja4.

Ahora estoy perdido, no puedo iniciar la macro, ya que le tengo que programar, ¿si empiezo a leer de la hoja1 o la hoja2 o la hoja4 y en cuál hoja voy a poner el resultado?.


Revisando los datos omitiste los resultados del 24442 y del 24443, hay alguna razón, ¿debo preparar la macro para omitir esos resultados?


Si no es mucho pedir, podrías poner 2 imágenes, la primera imagen con la información fuente, y la segunda imagen con la información que quieres como resultado.


En tu ejemplo de resultado pusiste espacios en blanco, ¿así quieres el resultado?


Si se te dificulta poner 2 imágenes, entonces envíame tu archivo con 2 hojas, en la primera hoja me pones la información fuente y en la segunda hoja me pones el resultado que esperas.

sal u dos

DAM, Disculpas. Voy a partir de ceros

Anexo imagenes Hoja2 datos fuente y hoja4 donde quedará el resultado y en esas columnas. Debe recorrer hasta la última fila de la columna NUMERO de la hoja2

Buenas tardes DAM. Reciba un cordial y respetuoso saludo

Dante Amor, si recibió las imagenes ??. Gracias

H o l a:

No sé qué le pasó a la página, ya había puesto la macro.

En fin, anexo nuevamente la macro, deberás tener 2 hojas: "Hoja2" y "Hoja4".

En la "Hoja4" quedarán los resultados.

Sub Totalizar()
'Por.Dante Amor
    Set h2 = Sheets("Hoja2")
    Set h4 = Sheets("Hoja4")
    h4.UsedRange.Offset(1, 0).ClearContents
    '
    For i = 2 To h2.Range("C" & Rows.Count).End(xlUp).Row
        v1 = h2.Cells(i, "AF")
        v2 = h2.Cells(i, "AH")
        If v1 > 0 Then
            c1 = h2.Cells(i, "AE")
        Else
            c2 = h2.Cells(i, "AE")
        End If
        '
        Set b = h4.Columns("B").Find(h2.Cells(i, "C"), lookat:=xlWhole)
        If Not b Is Nothing Then
            h4.Cells(b.Row, "AF") = h4.Cells(b.Row, "AF") + v1
            h4.Cells(b.Row, "AH") = h4.Cells(b.Row, "AH") + v2
            h4.Cells(b.Row, "AE") = c1
            h4.Cells(b.Row, "AG") = c2
        Else
            u = h4.Range("B" & Rows.Count).End(xlUp).Row + 1
            h4.Cells(u, "B") = h2.Cells(i, "C")
            h4.Cells(u, "AF") = h4.Cells(u, "AF") + v1
            h4.Cells(u, "AH") = h4.Cells(u, "AH") + v2
            h4.Cells(u, "AE") = c1
            h4.Cells(u, "AG") = c2
        End If
    Next
    h4.Select
    MsgBox "fin"
End Sub

':)

'S aludos. D a n t e   A m o r . R ecuerda valorar la respuesta. G racias

':)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas