Suma de varias columnas a ser agregadas con código

Tengo este código que va copiando y pegando datos en donde exista la hoja..

Sub MACOR2() Dim respuesta As Variant        respuesta = MsgBox("¿seguro de su factura?", vbYesNo + vbQuestion, "AVISO")        If respuesta = vbYes ThenSheets("Hoja1").Select    On Error Resume Next    Application.ScreenUpdating = False    ActiveSheet.Range("$A$3:$D$1000").AutoFilter Field:=4, Criteria1:=">0", _        Operator:=xlAnd    Range("a1:d" & Range("a65536:d100").End(xlUp).Row).Select    Selection.Copy    hoja = Range("A1")    existe = False    For Each h In Sheets        If h.Name = hoja Then            existe = True            Exit For        End If    Next    If existe Then        Sheets(hoja).Activate        Cells(1, Range("iv4").End(xlToLeft).Column + 1).Select        ActiveSheet.Paste = xlPasteFormulas        ActiveSheet.Paste        ActiveSheet.Paste = xlPasteFormulas        Application.CutCopyMode = False        Application.ScreenUpdating = True    Else        MsgBox "No existe la hoja: " & Range("A1"), vbInformation    End If    Sheets("Hoja1").Select        ActiveSheet.Range("$A$3:$D$1000").AutoFilter Field:=4        Range("A4:A60").Select    Selection.ClearContents    Range("d1").Value = Range("d1").Value + 1   If factura = vbNo Then   Exit Sub      End If      End IfEnd Sub

entonces va quedando asi:

Si voy ejecutando el código me va a seguir poniendo 4 columnas tal cual se muestra en la imagen...

Entonces necesito que las columnas que dice CANTIDADES se sumen para llegar a un total general por producto..

Que la suma se vaya haciendo de izquierda a derecha como se ilustra en el numero 5 así para toda la columna... Y este me arroje el resultado al haber ejecutado la macro 1 o al haber realiazdo 20 veces...

Respuesta
2

¿Y dónde quieres el resultado?

Según tu ejemplo, el resultado es 15, en dónde quiere poner ese 15.

Pongo el código para que se vea en varias líneas

Sub MACOR2()
    Dim respuesta As Variant
    respuesta = MsgBox("¿seguro de su factura?", vbYesNo + vbQuestion, "AVISO")
    If respuesta = vbYes Then
        Sheets("Hoja1").Select
        On Error Resume Next
        Application.ScreenUpdating = False
        ActiveSheet.Range("$A$3:$D$1000").AutoFilter Field:=4, Criteria1:=">0", _
        Operator:=xlAnd
        Range("a1:d" & Range("a65536:d100").End(xlUp).Row).Select
        Selection.Copy
        hoja = Range("A1")
        existe = False
        For Each h In Sheets
            If h.Name = hoja Then
                existe = True
                Exit For
            End If
        Next
        If existe Then
            Sheets(hoja).Activate
            Cells(1, Range("iv4").End(xlToLeft).Column + 1).Select
            '
            'en esta parte hacer la suma?
            '
            ActiveSheet.Paste = xlPasteFormulas
            ActiveSheet.Paste
            ActiveSheet.Paste = xlPasteFormulas
            Application.CutCopyMode = False
            Application.ScreenUpdating = True
        Else
            MsgBox "No existe la hoja: " & Range("A1"), vbInformation
        End If
        Sheets("Hoja1").Select
        ActiveSheet.Range("$A$3:$D$1000").AutoFilter Field:=4
        Range("A4:A60").Select
        Selection.ClearContents
        Range("d1").Value = Range("d1").Value + 1
        If factura = vbNo Then
            Exit Sub
        End If
    End If
End Sub

El resultado podría ir a otra hoja llamada CONCENTRADO ya para consultar la información..

Probé el código y este me pega los datos copiados en otra donde sea de la hoja que seleccione. ¿En dónde muestra la suma de la cantidades?

Solamente puse el mismo código que tu enviaste, pero tú código aparece en la página en una sola línea y no se pude leer, por eso lo arreglé y lo puse solamente para tener la referencia correcta.

Ahora regresando a tu pregunta, ¿solamente quieres que ponga el total de las columnas en otra hoja? O tienes alguna referencia que deba llevar cada línea

Si solamente necesito la suma de las cantidades para obtener el total general y así saber cuantos productos al se están dando para cada vendedor... y cuanto venden.. es como un concentrado,

Pero no veo donde tira la suma
?

Te anexo la macro para que te haga el concentrado.

Lo que hace es sumar lo que tienes en la "hoja2" y ponerte el resultado en la hoja "concentrado"

Sub concentrado()
'Por.Dante Amor
    Set h1 = Sheets("Hoja2")
    Set h2 = Sheets("concentrado")
    '
    h2.Cells.Clear
    For i = 4 To h1.Range("B" & Rows.Count).End(xlUp).Row
        For j = 2 To h1.Cells(3, Columns.Count).End(xlToLeft).Column Step 4
            h2.Cells(i, "B") = h2.Cells(i, "B") + h1.Cells(i, j)
        Next
    Next
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas