Hallo Florian,
wenn ich dich richtig verstehe, willst du beim Initialisieren einer UserForm die aktuelle Zeit in eine Zelle (Zeile,11) schreiben. Bei einer weiteren Aktion sollen die dann aktuelle Zeit in die Zelle Zeile,12 und die Differenz zum Start in Zelle Zeile,13 geschrieben werden, letzteres in der Form hh:mm:ss oder ähnlich.
Wozu verwendest du eine ComboBox? Ich schlage vor, in der UserForm 3 CommandButtons zu verwenden, einen zum Neustart (Cmd_Neustart), einen zum Stoppen und Ausgeben der Zeitdifferenz (Cmd_Stopp) und den letzten zum Schließer der UserForm (Cmd_Abbrechen). Die UserForm heiße UserForm. zeile wird in meinem Beispiel auf 3 gesetzt. Du kannst dies verändern oder eine TextBox verwenden, in die du die gewünschte Zeilennummer eingeben kannst.
Private zeile
Private Sub Cmd_Abbrechen_Click()
Unload UserForm
End Sub
Private Sub Cmd_Neustart_Click()
Cells(zeile, 11) = Now
Cells(zeile, 12) = ""
Cells(zeile, 13) = ""
End Sub
Private Sub Cmd_Stopp_Click()
Cells(zeile, 12) = Now
Cells(zeile, 13) = Cells(zeile, 12) - Cells(zeile, 11)
Cells(zeile, 13).NumberFormat = "h:mm:ss;@"
End Sub
Private Sub userform_initialize()
zeile = 3
Cmd_Neustart_Click
End Sub
Ich hoffe, dir geholfen zu haben.
Gruß
Holger
Florian schrieb am 01.08.2008 11:32:02:
Guten morgen
Habe folgendes Problem.
Beim erstellen einer userform wird im Excel in einer Zelle die Aktuelle Uhrzeit geschrieben.
mit einer Combobox kann ich nun den Status wechseln, sodass in eine andere Zelle die jetzt aktuelle uhrzeit steht.
in einer 3. Zelle soll nun die "Wartezeit" in h gerechnet stehen,ausgegeben.
wie kann ich aus 2 now zellen die wartezeit in stunden ausgeben lassen?
Hier einmal mein Code:
[code]
'Alamierungszeit
Dim Zeit1
Zeit1 = Now
.Cells(Zeile, 11) = Zeit1
' Ausrückezeit
If cmbStatus.Value = "Laufend" Then
.Cells(Zeile, 13) = .Cells(Zeile, 11)
'Wartezeit bei direktem ausrücken
.Cells(Zeile, 12) = Cells(Zeile, 13) - .Cells(Zeile, 11)
End If
[/code]
Vielen Dank |