VBA Code anpassen für Zeitstudie?!
22.09.2003 18:43:39
Josef Bouchi
ich habe mir folgenden Code zusammengefrickelt. Hintergrund hierfür ist eine Stopuhr, mit der verschiedene Aktivitäten für eine Zeitstudie gemessen werden sollen.
Dieser Code ist bei 26 Command_Buttons mehr oder weniger gleich. Ich möchte den User aus Sicherheitsgründen darauf hinweisen, dass er immer nur eine Zeit messen kann. Wenn also schon eine Zeit läuft, dann soll der User durch eine entsprechende MsgBox darauf hingewiesen werden. Ich habe etwas versucht, aber das funktioniert so natürlich nicht, das ich so die Zeit mit dem eigentlich richtigen Button auch nicht mehr stoppen kann. Selbst reingelegt! :-)
So, was mir jetzt vorschwebt ist, dass allgemein erkannt wird, dass gerade irgendwo die Zeit läuft und dann eine Fehlermeldung ausgegeben wird, aber nicht wenn es der "richtige" Command-Button ist.
Ich hoffe das hat irgendwer verstanden. Danke für Euer Feedback.
Private Sub CommandButton1_Click()
If Range("E2").Value > "" Then
MsgBox "Please stop the time first and send it to the query." & Chr(13) & "Then proceed...Thanks!", vbInformation
ElseIf UserForm1.CommandButton1.Caption = "Start" Then
Zeit1 = Time
UserForm1.CommandButton2.Caption = "Time: " & Format(Range("E3") + Time - Zeit1, "hh:mm:ss")
NextTime1 = Now + TimeValue("00:00:00")
Application.OnTime NextTime1, "CommandButton1_Click"
Worksheets("Time&Motion").Range("E2").Select
ActiveCell.FormulaR1C1 = (Time - Zeit1) + Range("E3")
CommandButton1.Caption = "Stop"
Else: CommandButton1.Caption = "Stop"
Application.OnTime NextTime1, "CommandButton1_Click", , False
CommandButton1.Caption = "Start"
Worksheets("Time&Motion").Range("E3").Select
Selection.ClearContents
Sheets("Time&Motion").Select
Range("D2").FormulaR1C1 = "Incoming mail/cheques"
Range("F2").FormulaR1C1 = "Post Team"
End If
Range("A2") = Application.UserName
Range("B2").Select
ActiveCell.FormulaR1C1 = Date
End Sub
Viele Grüsse
Josef
P.S. Ich benutze eine englische Excel-Version!