Microsoft Excel

Herbers Excel/VBA-Archiv

Wieder Probl. Umstieg Excel 2010 -> 365

Betrifft: Wieder Probl. Umstieg Excel 2010 -> 365 von: Gode
Geschrieben am: 03.09.2020 15:34:45

Office-Version ist 365 offline

Hallo,
wieder kämpfe ich mit Umstiegs-Problemen (bisher Office 2010). :-(

https://www.herber.de/bbs/user/140022.xlsm

Ich hatte ja bereits das Problem mit coppy/paste in einem älteren Beitrag (dies wurde Dank eines Beitrags von Nepumuk gelöst!)

Im anhängenden Beispiel wird aus einem rein textbasierten Prozessplan ein Prozess-Diagramm erstellt (eigentlich nichts Wildes).
Unter Office 2010 benötigt das Makro "Prozess_Diagramm_erstellen" ca. 40 Sekunden.

Unter Office 365 (auf schnellerem Rechner) benötigt das Makro manchmal fast 10 Minuten und läuft sehr langsam durch die Schleifen; gebe für jede neue Baugruppe ein Satz im Direktfenster aus, so kann man das sehr gut beobachten).

Manchmal wird Excel auch einfach beendet (Absturz ohne Fehlermeldung).

Und manchmal läuft das Makro auch einigermaßen flott durch.
Getestet habe ich das bereits auf mehr als 2 Rechnern (um meinen Büro-Rechner auszuschließen).
Ich vermute mal, dass alle Office-Versionen ab 2013 bei diesem Makro Probleme bereiten.

Was ist hier im Makro verwendet, das diese Probleme verursacht (Anzahl der Formen?)
Aber warum läuft das Makro stabil und einigermaßen flott bei Office 2010??

So träge und instabil kann ich das Programm nicht mehr freigeben :-(

Hat hier jemand eine Idee oder selbst Erfahrungen in einem vergleichbaren Fall gemacht?

Bin für jeden Hinweis dankbar!!!

Gode

PS Das Makro am Besten mal öfter ausführen.
Die Tabelle2 kann über das Makro "Formen_löschen" wieder bereinigt werden!



Betrifft: AW: Wieder Probl. Umstieg Excel 2010 -> 365
von: peterk
Geschrieben am: 03.09.2020 17:57:34

Hallo

Deine Spaßbremse: .Rows(Zeile).RowHeight = h + 3

Wenn ich diese Zeile auskommentiere läuft das Makro in 60 Sekunden durch (Output ist aber fürchterlich). Ich hab aber keine Idee warum es mit dieser Zeile immer langsamer wird (bis hin zum Absturz).

Peter

Betrifft: AW: Wieder Probl. Umstieg Excel 2010 -> 365
von: Gode
Geschrieben am: 03.09.2020 18:40:56

Hallo Peter,

vielen Dank erstmal.
Ich habe das jetzt nur hier bei mir zu Hause mal getestet (allerdings mit Excel 2016).
Hier habe ich keine wesentlichen Unterschiede in der Durchlaufzeit des Makros feststellen können.
hatte aber bei mehreren Versuchen auch mit der auskommentierten Anpassung der Zeilenhöhe zwei Abstürze.

Hast du das unter 365 laufen lassen?
Falls ja, waren hier erhebliche Zeitunterschiede klar erkennbar und es gab kein Abstürze mehr?

Aber egal was ... auf die Anpassung der Zeilenhöhe kann ich leider nicht verzichten ;-)

Gode

Betrifft: AW: Wieder Probl. Umstieg Excel 2010 -> 365
von: Luschi
Geschrieben am: 03.09.2020 19:08:35

Hallo Gode,

seit Excel 2013 wird beim Ausblenden und Einblenden von Zeilen die Arbeitstabelle neu berechnet bzw. das Calculate-Ereignis aufgerufen - und das kann in einer Schleife tötlich sein, Ausweg:
- erst alle Zellen der spalte 'A' sammeln, die eingeblendet oder ausgeblendet werden sollen
- und dann mit der EntireRow-Eigenschaft alle Zeilen der betroffenen Zellen gemeinsam setzen
- dadurch tritt das Ereignis 'Calculate' nur einmal ein und nicht x-fach

Gruß von Luschi
aus klein-Paris

Betrifft: AW: Wieder Probl. Umstieg Excel 2010 -> 365
von: Gode
Geschrieben am: 03.09.2020 19:50:26

Hallo Luschi,

wahrscheinlich habe ich deine Ausführungen nicht richtig verstanden.
Du meinst die Anpassung der Zeilenhöhe? Denn es werden keine Zeilen ein-/ausgeblendet.

Im Moment ist die Programmlogik ja wie folgt:
1. Shape von Tabelle 3nach Tabelle 2 kopieren
2. die jew. Texte aus Tabelle 1 werden den jew. Shapes in Tabelle 2 zugewiesen.
3. Die entspr. Zeile wird an die Höhe des Shape-Objekts angepasst.
...

Wie wäre die Logik bei deinem Vorschlag?

Gode

Betrifft: Die Schnelligkeit von Excel ...
von: lupo1
Geschrieben am: 03.09.2020 22:37:22

... beruht unter anderem auch darauf, dass möglichst der Bildschirminhalt konstant bleibt. Da eine fettere Rahmenlinie hier genauso schädlich wäre, wie die Änderung von Zellenmaßen, erlaubt z.B. die bedingte Formatierung keine (anders) fetten Rahmenlinien.

Wer dieser Philosophie auch in anderen Bereichen folgt, hat mehr Spaß mit Excel.

Betrifft: AW: Wieder Probl. Umstieg Excel 2010 -> 365
von: peterk
Geschrieben am: 04.09.2020 10:13:01

Hallo Gode

Habs heute nochmals probiert und bin zu einem komplett anderen Ergebnis gekommen. Zuerst lief alles wunderbar (auch mit RowHeight), dann kamen lustige Fehlermeldungen und am Schluss der Excel Absturz.
Hab Dein Makro jetzt umgeschrieben und konnte auch nach 10maligen Testen keinen Fehler/Absturz provozieren. Anmerkung: Makro braucht bei mir ~30 Sekunden für Deine 1600 Zeilen.

https://www.herber.de/bbs/user/140038.xlsm

Peter

P.S: Dein Code ist nochh enthalten, aber auskommentiert. Wehrmutstropfen: Das Template für die Form muss in der Tabelle tblForm liegen (und nicht in tblCopy), könnte man aber auch noch lösen.
Meine Version: Win10, Office 265 Prof., 32Bit

Betrifft: AW: Wieder Probl. Umstieg Excel 2010 -> 365
von: peterk
Geschrieben am: 04.09.2020 10:29:03

Hallo

Ist mir noch aufgefallen:

Bitte .Rows(Zeile).RowHeight = h + 6 (sonst sind am Ende die Shapes nicht mehr in der richtigen Zelle)

Peter

Betrifft: AW: Wieder Probl. Umstieg Excel 2010 -> 365
von: Gode
Geschrieben am: 04.09.2020 12:19:33

Hallo Peter,

vielen Dank für deine Hilfe!
Läuft bei mir ebenso stabil wie schnell (ca. 40 Sek)... perfekt!
Das Shape in tblForm stört mich nicht (werde es halt weit nach rechts platzieren).
Aber wie wäre dann der Ansatz? Dann müsste das Shape ja wieder mit copy/paste auf das Blatt tblForm kopiert werden und ich wäre im Prinzip wieder bei der alten Logik?

Nur für mein Verständnis (auch evtl. für die Zukunft):
Kann man sagen, dass die Probleme die mit meiner alten Version einhergingen nur auf die vielen Copyy/Paste zurückzuführen waren?

Auf jeden Fall sieht das so jetzt super aus, und ich möchte mich nochmal bei dir recht herzlich für dein Engagement bedanken!!

Gode


Betrifft: AW: Wieder Probl. Umstieg Excel 2010 -> 365
von: peterk
Geschrieben am: 04.09.2020 12:49:41

Hallo Gode

Habs jetzt geändert.

In Formen_löschen werden nun ALLE Shapes gelöscht.
Am Begin der Procedure wird nun einmalig ein Copy/Paste des Shapes durchgeführt.
Am Ende wird dieses Template wieder gelöscht.

https://www.herber.de/bbs/user/140043.xlsm

Ja, ich vermute das diese vielen Copy/Paste die Ursache ware.

Peter

Betrifft: AW: Wieder Probl. Umstieg Excel 2010 -> 365
von: Gode
Geschrieben am: 04.09.2020 15:59:56

Hallo Peter,

nochmals besten Dank und dir ein schönes Wochenende!

Gode

Beiträge aus dem Excel-Forum zum Thema "Wieder Probl. Umstieg Excel 2010 -> 365"