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

Excel zu langsam!

Excel zu langsam!
15.04.2022 10:18:28
AL
Hallo zusammen,
ich bin am verzweifeln und brauche Hilfe, da meine VBA Kenntnisse recht bescheiden sind :(
Eine Excelmappe greift per Button auf ein anderes Programm zu, führt dort gewisse Prozesse durch und liest anschließend die Ergebnisse in die Excelmappe zurück. Der erste Teil funktioniert gut und schnell aber der zweite Teil (das Zurücklesen in Excel) dauert teilweise bis zu zehn Minuten.
Ich habe dieses Vorgehen mal mit einer leeren Excelmappe ausprobiert, um zu verifizieren, ob es an meiner Excelmappe liegt und wie sich herausgestellt hat, ist es tatsächlich so. Das Zurücklesen der Ergebnisse dauert in der leeren Excelmappe nur wenigen Sekunden!
Nun habe ich im Internet recherchiert, was man da machen kann und bin leider nicht weit gekommen. In dem unten angehängten Code seht ihr meine Versuche das Zurücklesen zu beschleunigen. Bisher ohne Erfolg.
Hinweise zu meiner Excelmappe, die vielleicht hilfreich sind:
Das manuelle Speichern sowie das automatische Zwischenspeichern der Mappe dauert bis zu 10 Sekunden (was auf die Größe der Mappe hinweisen soll, Größe = 5,7 MB).
Für gewisse Berechnungen ist die Berechnungsoption "Iterative Berechnung aktivieren" eingeschaltet.
Auf diversen Seiten sind Diagramme enthalten.
Habt Ihr Ideen, wie man das Zurücklesen der Ergebnisse und vielleicht auch das Speichern beschleunigen kann?
Danke und schöne Ostertage allen.
Gruß
AL

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim x As Long
For x = 1 To Worksheets.Count
With Worksheets(x)
.EnableCalculation = False
.EnableFormatConditionsCalculation = False
End With
Next
Run "Makro" 'mit dem die Prozesse und das Zurücklesen realisiert wird
For x = 1 To Worksheets.Count
With Worksheets(x)
.EnableCalculation = True
.EnableFormatConditionsCalculation = True
End With
Next
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel zu langsam!
15.04.2022 10:46:50
Luschi
Hallo AL,
es fehlt mindestens 1 wichtige Einstellung: Application.EnableEvents = False / True
Mehr Infos siehe im I-Net: excel vba GetMoreSpeed
Gruß von Luschi
aus klein-Paris
AW: Excel zu langsam!
15.04.2022 10:47:01
onur
Nix an diesem Makro schreibt oder liest irgendwo irgendwas zurück. Es werden nur die automatischen Berechnungen aus- bzw wieder eingeschaltet.
AW: Excel zu langsam!
15.04.2022 11:12:03
snb
Ich würde eher benützen:
Application.Calculation = -4135
AW: Excel zu langsam!
15.04.2022 11:17:48
AL
Hallo onur,
das Makro "Makro" führt die genannten Prozesse durch und liegt in einer AddIn. Ich nahm an, dass es nicht an dem Makro liegen kann, da beim Versuch mit der leeren Mappe das Zurücklesen in Sekunden geschehen ist.
Gruß
AL
Anzeige
AW: Excel zu langsam!
15.04.2022 11:49:43
onur
Dass das Makro für eine leere Mappe nur Sekunden braucht, ist kein Beweis dafür, dass es gut läuft.
Ein Auto ist ja auch schneller als eine Zugmaschine, aber wenn es darum geht, 15 t Last zu ziehen, sieht die Sache ganz anders aus.
Das Makro macht schliesslich die Arbeit und nicht das, was du gepostet hast.
Und diese Arbeit kann man auf mind. 1000 verschiedene Art und Weisen machen, mal langsam, mal schnell, je nach Programmier- Kenntnissen und Fähigkeiten.
AW: Excel zu langsam!
15.04.2022 13:49:32
Luschi
Hallo AL,
im AddIn sind Ereignisprozeduren programmiert, die dann automatisch anspringen:
- wenn Daten per Hand oder per Vba ins Tabellenblatt geschrieben werden
- und das bei jedem einzelnen Eintrag
- der Cursor per Maus neu positioniert wird
- das aktive Arbeitsblatt in der Mappe geändert wird
- u.u.u
Diese Ereignis-Routinen haben in meinen Projekten oft mehrere dutzend Programmzeilen, die dann bei jedem Eintreten des entsprechenden Zustands abgearbeitet werden - und das kann eben dauern.
Deshalb kann/muß der AddIn-Programmierer dafür sorgen, daß sie nicht eintreten, wenn per Vba Datenänderungen stattfinden. Den dafür erforderlichen Befehl hatte ich ja schon in meiner 1. Info geschrieben. Da der vba-Code des AddIns sicher paßwortgeschützt ist (so wie bei mir!), kann das eben nur der entsprechende Programmierer auch durchführen.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Excel zu langsam!
20.04.2022 15:54:03
AL
Hallo zusammen,
besten Dank für die Hinweise. Ich habe Sie nacheinander abgearbeitet und konnte keine Lösung finden. Dann habe ich meine Arbeitsmappe sukzessiv Tabellenblatt nach Tabellenblatt abgearbeitet (Grafiken, Diagramme, Funktionen und letztendlich auch die Tabellenblätter gelöscht) um die Ursache zu finden. Es hat sich Folgendes herausgestellt:
Auf zwei Tabellenblättern findet ein dynamischer Grafikwechsel statt, indem über den Namensmanager und der Funktion INDIREKT zwischen gespeicherten Grafiken gewechselt werden kann. Entfernt man nun diese dynamischen Grafiken, werden die Ergebnisse in Sekunden eingelesen!
Bisher war mir nicht bekannt, dass solche Bildwechsel über den Namensmanager die Funktion eines Makros beeinflussen können. Falls jemand weiß, wie man dies umgehen kann, dann gebt mir Bescheid.
Grüße an alle
AL
Anzeige
AW: Excel zu langsam!
15.04.2022 15:07:05
snb
Man sollte nur einmal Daten einlesen
Man sollte nur einmal Daten schreiben ins Arbeitsblatt.
Das übrige sollte im Arbeitsspeicher stattfinden.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige