Clever-Excel-Forum

Normale Version: Makro Geschwindigkeit
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

heute habe ich mal eine konkrete Frage. Bisher konnte ich mir immer über die Suche bzw. Google weiterhelfen.
Ich beginne mich gerade in das Thema VBA einzuarbeiten. Ich wollte eine Art "Bildertaschenrechner" bauen. Also 3 Bananen á 1 € plus 2 Äpfel á 5 € usw. ergibt eine Summe X.
Ich habe also verschiedene Bilder eingefügt und diese mit einem Makro belegt. Der Code dazu lautet jeweils 

Code:
Sub Platz2()

Range("L11").Value = Range("L11").Value + Sheets("Tabelle2").Range("B2").Value

End Sub




Das funktioniert soweit auch alles wie gewollt. Allerdings dauert jeder Rechenschritt ca. 5 Sekunden. Daher meine Frage an die Erfahrenen: Ist das normal? Liegt das am Code? An der Zahl der Makros und Bilder (~50 Stk)?
Ich denke was ich ausschließen kann ist der PC. Habe die Datei auf mehreren Rechnern getestet u.a. einem Videoschnitt PC.


Hat jemand Erfahrungswerte, die mir hier helfen könnten?
Vielen Dank schon mal und ein schönes Wochenende.

peepee
is die datei dazu ein sehr großes Geheimnis?  Eher nicht, oder?  Lade sie hoch. Dann kann man das nachvollziehen.
Hallöchen,

Zitat:Liegt das am Code?
führe mal einfach nur das Makro aus, ohne Bildchen usw. ...
Hallo,
danke für die Antwort und sorry für die späte Rückmeldung. Bin die letzten Tage nicht dazu gekommen mich damit zu beschäftigen.
Die Idee ist natürlich naheliegend...dachte eigentlich, dass ich das probiert hatte. Mit allen Makros und ohne Bilder. 

Tatsächlich ist es aber ohne alle Grafiken tatsächlich schon deutlich schneller, so dass es eigentlich akzeptabel ist. Aber bereits mit einem einzigen Bild (4KB) legt die Rechnendauer deutlich zu. Interessanterweise ist der "zurücksetzen" Button immer sehr schnell.

Ich lade die beiden Dateien wie gewünscht mit hoch. Vllt hilft das.

Auf jeden Fall Danke schon mal!

Hallo,

nein ist natürlich kein Geheimnis, dachte nur vielleicht sagt jemand, dass die Anzahl von Makros einfach zu viel ist, ohne dass sich jeder durch die Datei arbeiten muss.

Anbei die Dateien.
Hallo,

ohne die Dateien gesehen zu haben, manchmal hilft das:

Code:
Sub GetMoreSpeed(Optional ByVal Modus As Boolean = True)
     Static intCalculation as Integer
     If Modus = True Then intCalculation = Application.Calculation
         With Application
            .ScreenUpdating = Not Modus
            .EnableEvents = Not Modus
            .Calculation = IIf(Modus = True, xlManual, intCalculation)
            .Cursor = IIf(Modus = True, 2, -4143)
         End With
End Sub

Mit Deinem Code:

Code:
Sub Platz2()
      GetMoreSpeed
Range("L11").Value = Range("L11").Value + Sheets("Tabelle2").Range("B2").Value
      GetMoreSpeed(false)
End Sub

Die genannten Laufzeiten sind nur mit vielen Formeln zu erklären.

mfg