Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1848to1852
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

anderes workbook / schnellere Modus

anderes workbook / schnellere Modus
08.10.2021 13:07:12
Fred
Hallo Excel Profis,
Ich habe eine Frage zum Öffnen / Kopieren einer anderen xlsm Mappe.
Derzeit benötigt ein Öffnen,- Kopiervorgang aus einer anderen Mappe recht lange. Ich vermute mal, das es daran liegt, dass die zu öffnende Arbeitsmappe sehr viele Daten, Sheets und Formelberechnungen beinhaltet.
Zum öffnen der Mappe beginnt mein Makro so:

Sub Import1()
Dim wbZiel As Workbook
Dim wbQuelle As Workbook
Application.ScreenUpdating = False
Set wbZiel = ThisWorkbook
Set wbQuelle = Workbooks.Open("C:\Users\Fred Neumann\Desktop\Lay_0-0\Lay_a.xlsm")
wbQuelle.Sheets("BasisNeu").UsedRange.Copy
wbZiel.Sheets("BasisNeu").Cells(1, 1).PasteSpecial xlPasteValues
wbZiel.Sheets("BasisNeu").Cells(1, 1).PasteSpecial xlPasteFormats
Application.CutCopyMode = False
... natürlich kommt zum Schluß (bei Schließen der aufgerufenen Mappe) noch die Meldung, "ob ich die Mappe speichern möchte"
Meine Frage:
Da die zu kopierenden Sheets keine Formelberechnungen etc. beinhalten möchte ich fragen, ob es möglich ist, diesen Prozess zu beschleunigen? Es evt. einen Modus gibt, der die "Neuberechnungen" in der zu öffnenden Mappe für die Zeit meines Vorgangs unterbindet? Oder sonst für eine Variante ...
Gruss
Fred

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

Betreff
Datum
Anwender
Anzeige
AW: anderes workbook / schnellere Modus
08.10.2021 13:34:31
Daniel
Hi
Neuberechnen der Formeln kannst du so ausschalten:

Applications.Calculation = xlcalulationmanual
(Bitte selber schauen, wir das genau geschrieben wird)
Achtung, dir hier zuletzt gemachte Einstellung bleibt auch bei Makroende erhalten.
Ansonsten schau dir mal die Optionen des Workbooks.Open an, ggf kannst du darüber noch was optimieren (z.B. die Aktualisierung von externen Uellbezügen ausschalten)
Vielleicht hilft es auch, die Datei lay_a.xlsm als xlsb zu speichern.
Gruß Daniel
AW: anderes workbook / schnellere Modus
08.10.2021 14:33:15
Peter
Für noch schneller als das hätte ich keine Idee mehr:

Sub Import1()
Dim wbZiel As Workbook
Dim wbQuelle As Workbook
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
.DisplayAlerts = False
End With
Set wbZiel = ThisWorkbook
Set wbQuelle = Workbooks.Open("C:\Users\Fred Neumann\Desktop\Lay_0-0\Lay_a.xlsm")
'ENTWEDER: Warum kopierst du Daten UND Formatierungen:
wbQuelle.Sheets("BasisNeu").UsedRange.Copy
With wbZiel.Sheets("BasisNeu").Cells(1, 1)
.PasteSpecial xlPasteValues
.PasteSpecial xlPasteFormats
End With
'ODER: ...und nicht gleich die ganzen Zellen? Wenn das möglich ist, geht es einfacher:
wbQuelle.Sheets("BasisNeu").UsedRange.Copy Destination:=wbZiel.Sheets("BasisNeu").Cells(1, 1)
'... Dein Code
wbQuelle.Close
With Application
.CutCopyMode = False
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.DisplayAlerts = True
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige