Forumbeitrag
Excel-Version des Fragestellers:
365 privat
Erfahrungslevel des Fragestellers:
Basiskenntnisse in VBA
Hallo, ich bitte um eure Hilfe. es geht mir um folgendes eigentlich unspektakuläres Makro mit Zeitmessung. Wenn ich das Makro vor Mitternacht starte und es nach Mitternacht endet, wird eine völlig unrealistische Zeitangabe ins Blatt Hilfe geschrieben. Kann ein geschultes Auge bitte mal schauen, woran das liegen könnte und mein Problem beheben? Wenn das Makro am selben tag startet und endet, ist die Zeitangabe realistisch.
Danke
Christian
Sub MakroAuswahlStarten()
Dim auswahl As Long
Dim startZeit As Double
Dim endZeit As Double
Dim DauerInSekunden As Double
Dim DauerAlsZeit As Date
Dim MsgResult As VbMsgBoxResult
auswahl = InputBox("Welches Makro möchtest du ausführen?" & vbCrLf & _
"1: erstesMakro" & vbCrLf & _
"2: zweitesMakro" & vbCrLf & _
"3: drittesMakro" & vbCrLf & _
"4: viertesMakro" & vbCrLf & _
"5: fünftesMakro" & vbCrLf & _
"6: sechstesMakro" & vbCrLf & _
"7: siebtesMakro" & vbCrLf & _
"8: achtesMakro" & vbCrLf & vbCrLf & _
"Gib die entsprechende Zahl ein:", "Makro-Auswahl", "1")
If auswahl = 0 Then Exit Sub
If auswahl < 1 Or auswahl > 8 Then
MsgBox "Ungültige Auswahl. Bitte gib eine Zahl zwischen 1 und 8 ein.", vbCritical, "Fehler bei der Auswahl"
Exit Sub
End If
MsgResult = MsgBox("Möchtest du die Ausführungszeit messen?", vbYesNo + vbQuestion, "Zeitmessung")
If MsgResult = vbYes Then startZeit = Timer
Select Case auswahl
Case 1
Call ErstesMakro
Case 2
Call zweitesMakro
Case 3
Call drittesMakro
Case 4
Call viertesMakro
Case 5
Call fünftesMakro
Case 6
Call sechstesMakro
Case 7
Call siebtesMakro
Case 8
Call achtesMakro
Case Else
Exit Sub
End Select
On Error GoTo 0
If MsgResult = vbYes Then
endZeit = Timer
DauerInSekunden = endZeit - startZeit
DauerAlsZeit = DauerInSekunden / 86400
Worksheets("Hilfe").Range("D17").Value = Format(DauerAlsZeit, "hh:mm:ss")
End If
Exit Sub
FehlerHandler:
MsgBox "Fehler beim Ausführen des Makros. Bitte stelle sicher, dass das ausgewählte Makro existiert.", vbCritical, "Fehler"
End Sub