Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Excel 2013 Makro Geschwindigkeit

Betrifft: Excel 2013 Makro Geschwindigkeit von: Günther G.
Geschrieben am: 10.11.2014 21:39:52

Hallo,

es geht um das (durchaus häufig diskutierte) Thema, dass bestehende Excel-Makros, die unter Excel 2007/2010 problemlos ihren Dienst versehen, unter Excel 2013 extrem viel langsamer sind (Zeitaufwand vergrößert sich um Faktor 10 und mehr).

Leider ist es im Internet nicht so leicht, fachlich fundierte Infos darüber zu finden, warum das so ist - und, was noch viel interessanter wäre, was man gut und einfach dagegen tun kann. (Die üblichen Performance optimierenden Maßnahmen wie das Abschalten der Bildschirmaktualisierung und der automatischen Berechnung sowie ein ausschließliches Arbeiten mit deklarierten Variablen u.ä. sind bei performancekritischen Makros ja auch unter Excel 2010 schon selbstverständlich.)

Und der beim Googlen oft zu findende Hinweis, man möge doch warten, bis Microsoft dies per Service-Pack entschärft, ist angesichts des Umstandes, dass Excel 2013 nicht erst seit gestern am Markt ist, auch nicht so richtig zielführend ... :-(

Falls also einer der hier im Forum beteiligten Experten einen Link weiß, wo man sich diesbezüglich fachlich fundamentiert schlau machen kann - oder auch selber kurz diesbezügliche Ausführungen hier posten möchte ;-), würde ich das sehr zu schätzen wissen... :-)

Viele Grüße und herzlichen Dank
Günther

  

Betrifft: AW: Seitenschutz von: KlausF
Geschrieben am: 10.11.2014 22:24:18

Hallo Günther,

ich meine mich daran zu erinnern, dass auch mit Passwort geschützte Seiten
ewig brauchen können (Schutz aufheben, Makro laufen lassen, Seite schützen).
Ich bin mir aber nicht sicher ob das auch für Excel 2013 noch gilt ...

Gruß
Klaus


  

Betrifft: Excel 2013 Makro Geschwindigkeit von: Günther G.
Geschrieben am: 10.11.2014 23:45:43

Hallo Klaus,

wenn ich in Mappen mit aktivem Blattschutz Makros im Einsatz habe, arbeite ich immer mit der Option "userinterfaceonly", damit ich ungehinderten Zugriff auf die Tabelle habe, ohne jedes Mal vorher den Schutz aufheben und nach wieder aktivieren zu müssen.

Das ist allerdings für mich derzeit nicht das Thema, da das konkrete Makro, um das es bei mir geht, in einer Mappe völlig ohne Blattschutz arbeitet.

Grüße
Günther


  

Betrifft: AW: Excel 2013 Makro Geschwindigkeit von: mumpel
Geschrieben am: 11.11.2014 10:52:33

Hallo!

Zeig uns doch mal ein solches Makro. Vielleicht lässt sich etwas optimieren.

Im Übrigen ist dieses Phänomen schon alt. Office 2013 rechnet langsamer als Office 2010, Office 2010 rechnet langsamer als Office 2007. Auf einem alten Pentium (Singel-Core) rechnet Excel 2010 schneller als auf einem Dual-Core. Und so weiter und so weiter....

Gruß, René


  

Betrifft: hier ein Test-Unterschied ca.40 Sekunden... von: robert
Geschrieben am: 11.11.2014 11:50:46

Sub TB_hinzufuegen()
    Dim i As Integer
    
    For i = ThisWorkbook.Worksheets.Count + 1 To 100
       Worksheets.Add
    Next
End Sub
Sub TB_schuetzen()
    Dim i As Integer
    Dim Start As Date

    Start = Now

    For i = 1 To ThisWorkbook.Worksheets.Count
        Worksheets(i).Protect "test"
    Next i

    MsgBox "Der Vorgang dauerte " & Format(Now - Start, "hh:mm:ss") & "."
'  Ergebnisse:
'    Excel 2013: 19 sek
'    Excel 2007:  0 sek
End Sub
Sub TB_Schutz_aufheben()
    Dim i As Integer
    Dim Start As Date
    
    Start = Now
    
    For i = 1 To ThisWorkbook.Worksheets.Count
        Worksheets(i).Unprotect "test"
    Next i
    
    MsgBox "Der Vorgang dauerte " & Format(Now - Start, "hh:mm:ss") & "."
'  Ergebnisse:
'    Excel 2013: 21 sek
'    Excel 2013: 21 sek, bei Verwendung der unter Excel-2007 geschützten Datei.
'    Excel 2007:  1 sek
'    Excel 2007: 20 sek, bei Verwendung der unter Excel-2013 geschützten Datei.
'               Ein weiterer, nicht enden wollender Versuch wurde abgebrochen.
End Sub