Microsoft Excel

Herbers Excel/VBA-Archiv

Excel Performance bei Aktualisierung

    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...

      


    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


      


    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


      


    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


     

    Beiträge aus den Excel-Beispielen zum Thema " Excel Performance bei Aktualisierung"