Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1508to1512
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

Verhindern automat. Berechnen beim öffnen Workbook

Verhindern automat. Berechnen beim öffnen Workbook
17.08.2016 16:46:33
Matthias
Hallo,
ich öffne mal ein separates Thema, da ich mittlerweile mein Problem mit der Ausführungsgeschwindigkeit des Makros eingrenzen konnte.
Das Problem ist folgendes - obwohl ich
1. generell in den Excel-Einstellungen auf manuelle Berechnung umgestellt habe und
2. zu Beginn des Makros die Berechnung auf manuell gestellt habe,
führt Excel beim Öffnen jeder CSV-Datei aus dem Makro eine Berechnung durch.
D.h. jedes Mal wenn ich eine CSV Datei mit Workbooks.Open aus dem Makro öffene, führt Excel eine Berechnung (wahrscheinlich aller offenen Workbooks) durch.
Das dauert jedesmal 5-15 Sek und verlangsamt damit das ganze Makro deutlich.
Hier der Code zu Beginn meines Makros:
Dim Variablen
With Application
'.ScreenUpdating = False
'.EnableEvents = False
.Calculation = xlCalculationManual
End With
Workbooks.Open "C:\Dokumente\Daten\01-Matbestand.CSV"
Leider hab ich bei meiner Webrecherche keine Anhaltspunkte gefunden, warum Excel das macht.
Kann mir jemand erklären, warum sich Excel so verhält?
Wie muss ich meinen Code anpassen, damit die zu öffnenden Dateien beim Öffnen nicht berechnet werden?
Viele Grüße
Matthias

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW:Verhindern automat. Berechnen beim öffnen W
17.08.2016 17:22:36
Daniel
HI
wenn deine zu öffnende Datei eine Exceldatei wäre und externe Zellbezüge enthielte, dann würden diese bei Workbooks.Open auch aktualisiert, was ebenfalls lange dauern kann und über den Parameter: UpdateLinks:=False ausgeschaltet werden kann.
dürfte bei dir aber nicht der Fall sein, weil du ja eine CSV-Datei öffnest, die nur reine Textdaten enthalten kann.
vielleicht geht das Öffnen der CSV-Datei ja schneller, wenn du sie nicht wie eine Exceldatei öffnest, sondern in ein bestehendes Excelblatt importierst (DATEN - EXTERNE DATEN - AUS TEXT (für VBA bitte den Recorder verwenden)
Gruß Daniel
Anzeige
AW: AW:Verhindern automat. Berechnen beim öffnen W
17.08.2016 23:34:30
Matthias
Hallo Daniel,
richtig, die CSV hat reinen Text als Inhalt.
Leider klappyt Deine Idee mit dem Import nicht, da ich eben erst die Text Inhalte in die CSV per Makro schreiben will bevor ich diese in eine andere XLS importiere.
Was ich in meinem Fall nicht verstehe, wieso Excel beim Öffnen der CSV autom. berechnet, obwohl dies in den Optionen ausgestellt ist.
Beim Öffnen anderer XLS Dateien macht dies Excel nicht.
Hat da jemand ne Vermutung?
AW: AW:Verhindern automat. Berechnen beim öffnen W
18.08.2016 23:48:20
Matthias
Hallo,
ich hab mein Problem wie folgt gelöst.
Anstatt die "alte" CSV zu öffnen und zu aktualisieren, lösche ich die "alte" CSV und lass die "neue" CSV jetzt durch das Makro neu erstellen.
Dies geht ohne Berechnung von Excel und zeitlich in einer Bruchteil einer Sekunde.
Mein Code:
Dim pfad As String
pfad = ThisWorkbook.Path
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=pfad & "\" & "01-Matbestand" & ".CSV", FileFormat:=xlCSV, CreateBackup:=False
Viele Grüße
Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige