AW: Doppelte Einträge löschen
09.12.2012 17:06:40
Daniel
Hi
gefundenen Code zu adaptieren ist immer so ne Sache.
ich würde in deinem Fall erstmal in einer 2. Tabelle eine Liste der Namen ohne Doppelte anlegen (geht über den Spezialfilter) und dann mit SummeWenn aus der alten Tabelle die Summen bilden.
wenn du dann noch die Formeln durch ihren Wert ersetzt, kannst du die alte Tabelle ersetzen.
hier mal der passende Code dazu, erstellt und geprüft mit deiner Beispieldatei:
Sub Zusammenfassen()
Dim sp As Long
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim rng1 As Range
Dim rng2 As Range
Set sh1 = Sheets("Tabelle1")
Set sh2 = Sheets("Tabelle2")
sh1.Range("1:2").Copy sh2.Cells(1, 1)
For sp = 1 To sh1.Cells(1, 1).CurrentRegion.Columns.Count Step 2
Set rng1 = Range(sh1.Cells(2, sp), sh1.Cells(2, sp).End(xlDown))
rng1.AdvancedFilter Action:=xlFilterCopy, copytorange:=sh2.Cells(2, sp), unique:=True
Set rng2 = Range(sh2.Cells(3, sp), sh2.Cells(2, sp).End(xlDown)).Offset(0, 1)
rng2.FormulaR1C1 = "=sumIf('" & sh1.Name & "'!" & rng1.Address(1, 1, xlR1C1) & ",RC[-1],'" & _
sh1.Name & "'!" & rng1.Offset(0, 1).Address(1, 1, xlR1C1) & ")"
rng2.Formula = rng2.Value
Next
End Sub
Gruß Daniel