AW: Zeilen addieren wenn Bedingungen erfüllt sind
25.09.2018 11:58:52
daniel
HI
dann probiere mal das, hier ist der Ablauf etwas leichter verständlich und entspricht dem, was man sinnvollerweise in Excel tun würde, wenn man die Aufgabe von Hand ohne VBA-Unterstützung lösen müsste (optimiert für große Datenmengen).
dh du kannst den Code im Einzelstep ausführen und dir dabei anschauen, was in der Exceltabelle passiert um es nachzuvollziehen und zu verstehen:
Sub test()
With Cells(1, 1).CurrentRegion
.Sort key1:=.Cells(1, 1), order1:=xlAscending, key2:=.Cells(1, 2), order2:=xlAscending, _
Header:=xlYes
With .Columns(.Columns.Count + 1).Resize(, 3)
.Columns(1).FormulaR1C1 = "=RC3+IF(AND(RC1=R[1]C1,RC2=R[1]C2),R[1]C,0)"
.Columns(2).FormulaR1C1 = "=RC4+IF(AND(RC1=R[1]C1,RC2=R[1]C2),R[1]C,0)"
.Columns(3).FormulaR1C1 = "=RC5"
.Cells(1, 1).FormulaR1C1 = "=RC3"
.Cells(1, 2).FormulaR1C1 = "=RC4"
.Formula = .Value
End With
End With
Cells(1, 1).CurrentRegion.RemoveDuplicates Array(1, 2), xlYes
With Cells(1, 1).CurrentRegion.Columns(3).Resize(, 3)
.Copy
.Offset(0, 3).PasteSpecial xlPasteFormats
.Delete Shift:=xlToLeft
End With
End Sub
Gruß Daniel