Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA: Zwischensp. nach jedem Kopiervorgang löschen

VBA: Zwischensp. nach jedem Kopiervorgang löschen
22.05.2015 22:48:01
Joerschi
Hallo liebes Forum,
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

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Zwischensp. nach jedem Kopiervorgang löschen
22.05.2015 22:57:47
Luschi
Hallo Joerschi,
mache es so:
    .Range("cv12").Copy
.Range("et4").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True
.Range("cv12").Copy
Application.CutCopyMode = False
.Range("ez4").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = False
Gruß von Luschi
aus klein-Paris

Anzeige
AW: VBA: Zwischensp. nach jedem Kopiervorgang löschen
22.05.2015 23:25:14
Joerschi
Dank Dir Luschi.
Ich probiere es aus und gebe Feedback. Dauert aber bestimmt ein Weilchen - die umfangreichen Kopiervorgänge sind nicht ohne...
Viele Grüße
Joerschi

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige