09.11.2020, 14:38 (Dieser Beitrag wurde zuletzt bearbeitet: 09.11.2020, 14:40 von WS_User.)
Hallo Zusammen
bin am suchen nach einer Lösung für folgendes Problem: Makro für
Tabelle: A B C D Artiknr Charge Menge Gewicht 10031 1111 10 10 10031 2222 5 5 10055 5555 5 5 10066 6666 10 10 10066 6666 5 5 10066 7777 10 10
Es sollen Spalte A und B mit anderen Zeilen verglichen werden und bei Gleichheit von A und B Spalte C und D aufsummiert. Das soll herauskommen A B C D Artiknr Charge Menge Gewicht 10031 1111 10 10 10031 2222 5 5 10055 5555 5 5 10066 6666 15 15 10066 7777 10 10
Mein Problem ich bekomme derzeit nur die Überprüfung einer Spalte hin "A" und dann summiert es mir alle anderen auf.
10.11.2020, 21:31 (Dieser Beitrag wurde zuletzt bearbeitet: 10.11.2020, 22:08 von Raoul21.)
Probier mal:
Code:
Sub DuplikatzeilenSummieren() Dim Bereich As Range Dim a As Variant, c As Variant, e As Variant Dim b As Long
Set Bereich = Range("A1").CurrentRegion a = Bereich With CreateObject("Scripting.Dictionary") For b = 1 To UBound(a) c = a(b, 1) & a(b, 2) If .Exists(c) Then e = .Item(c) 'e wird zum Summieren herausgehoben e(3) = e(3) + WorksheetFunction.Index(a, b, 3) e(4) = e(4) + WorksheetFunction.Index(a, b, 4) .Item(c) = e 'Summenvektor wird wieder zurückgestellt Else .Item(c) = WorksheetFunction.Index(a, b, 0) End If Next b a = WorksheetFunction.Index(.Items, 0, 0) End With Bereich.Clear Bereich(1).Resize(UBound(a, 1), UBound(a, 2)) = a End Sub
Alle Zeilen, die den selben Text ergeben, wenn man jeweils Artikel- und Chargen-Nr. verkettet, werden wie gewünscht zusammengefasst. Diese müssen nicht unbedingt untereinander stehen.
LG Raoul
Nachtrag: Eine Pivot-Tabelle kann das auch. Berichtslayout: Tabellenformat, Teilergebnisse nicht anzeigen.