09.11.2020, 13:38 (Dieser Beitrag wurde zuletzt bearbeitet: 09.11.2020, 13: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, 20:31 (Dieser Beitrag wurde zuletzt bearbeitet: 10.11.2020, 21: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.