Laufzeitfehler "6" bei Ausführung Makro
12.03.2005 20:19:59
Andreas
Kann mir jemand helfen. Aus einem Warenwirtschaftsystem habe ich mir Datensätze ins EXEL importiert. In Spalte A stehen die Namen und in B die Umsätze. Es sind fast 19.000 Datensätze. Ich habe mir ein Makro kopiert, das alle identischen Zellen (Namen) zusammenfasst und eine Summe der entsprechenden Zahlen bildet. Das funktioniert auch. Nur bei meinen 19 k Datensätzen streikt das Makro. Es kommt dann die Anzeige "Laufzeitfehler 6"!!!Kann mir jemand dieses Makro so umschreiben das es läuft?
Schon jetzt mal vielen Dank!!
Gruss Andreas
Sub Zusammenfassen()
Dim EZ%, z%
Application.ScreenUpdating = False
EZ = Cells(Rows.Count, 1).End(xlUp).Row
Range("A1:A" & EZ).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"A" & EZ + 2 & ":A" & EZ * 2), Unique:=True
Range("B" & EZ + 2).FormulaR1C1 = "=SUMIF(R2C1:R" & EZ & "C1,RC[-1],R2C2:R" & EZ & "C2)"
'*** Formeln ausfüllen und in Werte verwandeln
With Range("B" & EZ + 2 & ":B" & Cells(Rows.Count, 1).End(xlUp).Row)
.FillDown
.Copy
.PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
End With
'*** Basisbereich löschen
Rows("2:" & EZ + 1).Delete
'*** Namen mit Summe 0 löschen
For z = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
If Cells(z, 2).Value = 0 Then Rows(z).Delete
Next z
'*** Sortieren
Range("A2:B" & Cells(Rows.Count, 1).End(xlUp).Row).Sort Key1:=Range("B2"), Order1:=xlDescending, Key2:=Range("A2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
'*** Summe bilden
With Range("B" & Cells(Rows.Count, 2).End(xlUp).Row + 1)
.FormulaR1C1 = "=SUM(R2C2:R[-1]C2)"
.Font.Bold = True
End With
Range("A1").Select
Application.ScreenUpdating = True
End Sub