Herbers Excel-Forum - das Archiv

Excel Performance bei Aktualisierung

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Excel Performance bei Aktualisierung
von: Caro
Geschrieben am: 02.10.2003 10:24:31
Hallo Forum!

Meine Excel-Mappe bezieht Werte aus ~20verschiedenen anderen Mappen. Damit ich zum "Abholen" der Werte nicht 20 Dateien von Hand Öffnen und wieder Schließen muss, habe ich ein Makro geschrieben, das folgende Code-Komponente für jede Datei (sprich 20mal hintereinander) ausführt.

Es funktioniert, ist aber ziemlich unprofessionell und unschön anzusehen, da es natürlich
1. ziemlich lange dauert und
2. das Bild auf dem Monitor natürlich ständig zwischen den Dateien hin- und herspringt.

Kann mir jemand sagen, ob es da Möglichkeiten gibt:
1. das ganze etwas zu beschleunigen oder
2. durchgehend ein Bild auf dem Monitor(keine Fensterspringerei) anzuzeigen mit evtl. einem Fortschrittsbalken, oder einfach nur einer Messagebox "es dauert noch..." mit Sanduhr o.ä.

???
Bin Euch sehr dankbar,
Caro

Code-Komponente:

Workbooks.Open Filename:= _
"C:\ordner1\ordner2\Beispieldatei_1.xls" _
, UpdateLinks:=0
Sheets("Blatt aus Beispieldatei_1").Select
Range("A4:BH4").Select
Selection.Copy
Windows("Datei wo's hin soll.xls").Activate
Range("B3:BI3").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Windows("Beispieldatei_1.xls").Activate
ActiveWindow.Close

... und dann das ganze mit Beispieldatei_2, Beispieldatei_3, etc...

Bild

Betrifft: AW: Excel Performance bei Aktualisierung
von: iven_s
Geschrieben am: 02.10.2003 10:49:35
Hallo Caro

Probiers mal damit. Der Bildschirm wird während der Prozedur nicht aktualisiert
und das Makro läuft auch schneller.

Application.ScreenUpdating = False 'am Anfang der Prozedur

Application.ScreenUpdating = True 'am Ende

Iven
Bild

Betrifft: AW: Excel Performance bei Aktualisierung
von: Caro
Geschrieben am: 02.10.2003 14:28:22
Hey Iven,

danke für den hilfreichen Tip. Schneller geht's zwar nicht, aber immerhin wird einem von dem wechselnden Bild nicht mehr schlecht ;-)

Weißt Du zufällig, ob/wie man eine Messagebox für die gesamte Dauer der Prozedur anzeigen kann?

Gruß und nochmal Danke,
Caro
Bild

Betrifft: AW: Excel Performance bei Aktualisierung
von: iven_s
Geschrieben am: 02.10.2003 15:56:15
Leider nein. Eine Msgbox unterbricht den Code solange bis du ok klickst
 Bild
Excel-Beispiele zum Thema " Excel Performance bei Aktualisierung"
Arbeitsmappe ohne Rückfrage nach Aktualisierung öffnen Arbeitsmappe ohne Neuberechnung und Linkaktualisierung öffnen