zu Beginn eines umfangreichen Makros (dauert knapp eine halbe Stunde), würde ich gerne einen Zeitstempel setzen und zu Makroende wieder, um daraus die Zeitdifferenz = genaue Dauer des Makros abzuleiten.
Das zweimalige Einfügen von STRG+"." ergibt als Differenz immer 0 (null), auch wenn ich das Zellenformat auf Datum mit Uhrzeit umstelle.
zu Beginn eines umfangreichen Makros (dauert knapp eine halbe
Stunde), würde ich gerne einen Zeitstempel setzen und zu
Makroende wieder, um daraus die Zeitdifferenz = genaue Dauer
des Makros abzuleiten.
Das zweimalige Einfügen von STRG+"." ergibt als Differenz
immer 0 (null), auch wenn ich das Zellenformat auf Datum mit
Uhrzeit umstelle.
Hi Ludwig,
wenn du eh schon Vba benutzt warum dann noch Exceltatenkürzel?
sub tt()
dim Start as double, dim Ende as double
Start=Timer
’ weiterer Code
Ende=Timer
msgbox Ende-Start & " Sekunden"
End sub
Hallo, wieder lieber Reinhard, und wieder danke.
Bloß so funzt es noch nicht: Ich hab Deinen Code reinkopiert, und VB schreibt die Zeile mit den Dims in Rot und belässt das „dim“ in Kleinbuchstaben.
Zusatzfrage: Es ist doch wohl schon so gedacht, dass die Starthälfte am Anfang und die Endhälfte (die mit der Msg-Box) am Ende eingefügt wird? oder soll ich da eine eigene Subroutine draus machen und diese aufrufen. Dann aber einmal oder zweimal? Also am Anfang des Makros und wieder am Schluss? Das blick ich noch nicht.
Danke
Ludwig
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Sub timers()
Dim Zeit1
Dim Zeit2
Dim ZeitResult
Zeit1 = Time ' Aktuelle Systemzeit zurückgeben.
' DeinMakro
'
'
'
Zeit2 = Time ' Aktuelle Systemzeit zurückgeben.
ZeitResult = (Zeit2 - Zeit1) \* 100000
Debug.Print ZeitResult
End Sub
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo, wieder lieber Reinhard, und wieder danke.
Bloß so funzt es noch nicht: Ich hab Deinen Code reinkopiert,
und VB schreibt die Zeile mit den Dims in Rot und belässt das
„dim“ in Kleinbuchstaben.
Hi Ludwig,
war mein Lappsus, hatte das ungetestet einfach so hingeschrieben.
mal ein Tipp, sicher ist es schon vielen aufgefallen dass ich viele „Großwörter“ klein schreibe, liegt daran dass ich viel Excel-Vba mache und da ist es angebracht alles klein zu schreiben, und dann wenn der Editor daß nicht automatisch umwandelt, also aus dim Dim macht weiß ich ich hab da was falsch gemacht.
Von daher empfielt (irgendwo da fehlt ein h *gg) es sich , im Editor bei Optionen einzustellen dass immer Option Explicit erscheint, und alle Variablennamen im ersten Buchstaben groß zu definieren beim Dim.
Widerspricht zwar allem dem was ich an Code von Profis sehe, aber ich machs so.
Profis haben sich daraf „verständigt“ Variablen so zu definieren/deklarieren:
intZeile (zeile ist ein Int-Typ), lngZeile(zeile ist long-Typ), und das ist Klasse bei langen Codes.
Da ich kein profi bin, versuche ich, wenn ich mich überhaupt an diese Nomnenlatura halte, dass dann so zu bennen: IntZeile, LngZeile.
Hat für mich den Vorteil, wenn ich zB intziele eingeb wird das nicht umgewandelt und brauche nicht auf den programmstart zu warten wo dann durch Option Explicit intziele als nicht definiert gemeldet wird.
Ach, ich babbel zuviel, sorry, jedenfalls seitdem ich Timer kenne benutze ich Time nicht mehr so viel, aber geht auch.
Sub tt()
Dim Start As Double, Ende As Double, n
Start = Timer
'Beispielcode
For n = 1 To 10000000
Next n
Ende = Timer
MsgBox Ende - Start & " Sekunden"
End Sub