ich habe einen VBA-Code, der so aussieht:
Sub Filterhaerte_FUG14er_1()
Application.ScreenUpdating = False
With Sheets("Filtereintrag_aktWo_Wahl")
For i = .Cells(11, 57) To .Cells(11, 58)
.Cells(12, 57) = i
KopiereFilter
.Range("ep1:et6000").Copy
With Sheets("Filtervarianten_14er")
.Cells(2, Columns.Count).End(xlToLeft) _
.Offset(-1, IIf(.Range("a1") = "", 0, 6)).PasteSpecial xlPasteValues
End With
Next i
End With
Application.CutCopyMode = False
Application.Goto Sheets("Filtervarianten_14er").Range("A1"), True
End Sub
Sub KopiereFilter()
With Sheets("Filtereintrag_aktWo_Wahl")
Range("bg12:ct12").Select
ActiveWindow.SmallScroll Down:=-12
Selection.Copy
Range("bg5").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
.Range("cv12").Copy
.Range("et4").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True
.Range("cv12").Copy
.Range("ez4").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True
End With
End Sub
Es werden damit 7 Spalten mit je 6000 Zeilen immer und immer wieder nebeneinander in eine andere Kartei der Datei kopiert.Allerdings bricht Excel den Vorgang irgendwann ab wegen Speicherüberlastung (irgendwo zwischen 300-400 Kopiervorgängen). Man kann dann nicht mal mehr die Datei speichern ("Ressourcen nicht genug..."). Ich vermute, es liegt am Zwischenspeicher, der irgendwann überfüllt ist und damit alles abwürgt.
An welcher Stelle bzw. welchen Befehl könnte man einfügen, wo nach jedem Kopiervorgang der Zwischenspeicher gelöscht wird?
Danke vorab und beste Grüße
Joerschi