Supportnet / Forum / Tabellenkalkulation
Zeiten automatisch ermitteln und eintragen
Frage
Hallo,
ich brauche Eure Hilfe!!!
Ich hab ein Formular, indem Zeiten eingegeben werden sollen. Jetzt möchte ich, das wenn in Zelle z.B. in Zelle C5 ein x eingetragen wird, dann soll in der Zelle E5 die aktuelle Uhrzeit eingetragen werden. Wenn dann in der nächsten Zelle C7 ein x eingetragen wird, dann soll in F5 die nächste aktuelle Uhrzeit eingetragen werden und in Zelle G5 die Differenz und die gleiche Aktuelle Uhrzeit aus F5 soll in E7 stehen. Wenn dann in C8 eingetragen wir dann soll das geliche passieren.
Beispiel:
C E F G
x 11:14 11:16 2
x 11:16 11:20 4
x 11:20 usw.
Es soll festgestellt werden, wie lange ein vorgang dauert.
Danke für Eure Mühe!!!!
Gruß
Elhamplo
Antwort 1 von JoeKe
Hallo Elhamplo,
vorrausgesetzt die "x" werden in C fortlaufend eingetragen kann ich dir folgendes anbieten:
In das VBA-Projekt deines Tabellenblattes:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set Target = Intersect(Target, Range("C:C"))
If Target Is Nothing Then Exit Sub
Dim x As Variant, zeile As Integer
zeile = Cells(Rows.Count, 3).End(xlUp).Row
For Each x In Range(Cells(1, 3), Cells(zeile, 3))
If x = "x" Then
Cells(zeile, 5) = Time()
End If
Next
End Sub
In F1 die Formel:
=E2
In G1 die Formel:
=F1-E1
Die beiden Formeln soweit wie nötig nach unten kopieren.
MfG
JöKe
vorrausgesetzt die "x" werden in C fortlaufend eingetragen kann ich dir folgendes anbieten:
In das VBA-Projekt deines Tabellenblattes:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set Target = Intersect(Target, Range("C:C"))
If Target Is Nothing Then Exit Sub
Dim x As Variant, zeile As Integer
zeile = Cells(Rows.Count, 3).End(xlUp).Row
For Each x In Range(Cells(1, 3), Cells(zeile, 3))
If x = "x" Then
Cells(zeile, 5) = Time()
End If
Next
End Sub
In F1 die Formel:
=E2
In G1 die Formel:
=F1-E1
Die beiden Formeln soweit wie nötig nach unten kopieren.
MfG
JöKe
Antwort 2 von Saarbauer
Hallo,
das Problem ist nur mit VBA zu lösen, da du mit Jetzt() zwar die aktuelle Zeit an diese Stelle bekommst, aber bei jeder Aktualisierung wird diese Automatisch mit geändert.
Gruß
Helmut
das Problem ist nur mit VBA zu lösen, da du mit Jetzt() zwar die aktuelle Zeit an diese Stelle bekommst, aber bei jeder Aktualisierung wird diese Automatisch mit geändert.
Gruß
Helmut
Antwort 3 von Elhamplo
Hallo,
danke für Eure Hilfe!!!
Ich hab den Code ausprobiert. Das Problem dabei ist, das er das datum jedesmal neu berechent und immer das aktuelle Datum in jeder Zeile einfügt. Wie kann man das ändern???
Gruß
Elhamplo
danke für Eure Hilfe!!!
Ich hab den Code ausprobiert. Das Problem dabei ist, das er das datum jedesmal neu berechent und immer das aktuelle Datum in jeder Zeile einfügt. Wie kann man das ändern???
Gruß
Elhamplo
Antwort 4 von JoeKe
Hallo Elhamplo,
hab noch mal ein wenig gebastelt:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim zeile As Integer
zeile = Cells(Rows.Count, 3).End(xlUp).Row
If Cells(zeile, 3) = "x" Then
Cells(zeile, 5) = Time()
Cells(zeile, 3) = "X"
End If
End Sub
Die beiden anderen Formeln bleiben unverändert.
MfG
JöKe
hab noch mal ein wenig gebastelt:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim zeile As Integer
zeile = Cells(Rows.Count, 3).End(xlUp).Row
If Cells(zeile, 3) = "x" Then
Cells(zeile, 5) = Time()
Cells(zeile, 3) = "X"
End If
End Sub
Die beiden anderen Formeln bleiben unverändert.
MfG
JöKe
Antwort 5 von Elhamplo
Hallo,
danke für Eure Hilfe!!! Sorry, das ich mich erst jetzt melde, hatte keine Zeit den Code eher auszuprobieren.
Vielen Dank für den Code. Funst beide einwandfrei!!!!
Danke!!!
danke für Eure Hilfe!!! Sorry, das ich mich erst jetzt melde, hatte keine Zeit den Code eher auszuprobieren.
Vielen Dank für den Code. Funst beide einwandfrei!!!!
Danke!!!

