Zeit in Excel-Zelle durch Tastendruck

Hallo,

ich stehe mit einer Experimentieranordnung vor einem „kleinen“ Problem.

Ich soll ein paar Tests (leider allein) durchführen, bei denen ich die Dauer von Vorgängen messen muss.

Jetzt ist mir aber aufgefallen, dass ich keine Zeit habe mit der Stoppuhr die Zeit zu stoppen und die Dauer dann in ein Formular einzutragen, weil dann längst der 2te Vorgang begonnen hat.

Daher meine Frage:

ist es vielleicht möglich, die aktuelle Zeit (also min. auf Sekunde genau) durch z.B. Tastendruck in eine Excel-Zelle einzutragen.

Es könnte so ablaufen, dass man in der Ersten Zelle „PROZESS 1 - BEGIN“ stehen hat und rechts daneben der Cursor steht. Drückt man auf eine Taste trägt Excel die aktuelle Zeit ein.
Dann springt der Cursor ja immer weiter…
und wenn man wieder die Taste drückt trägt Excel die „PROZESS 1 - ENDE“ Zeit in die darunterliegende Zelle ein usw.

Also bei jedem Enter Klick (Taste ist eigentlich egal) trägt Excel die aktuelle Zeit in die Zelle und springt dann (wie gewohnt) eine Zelle nach unten.

Jeder Hinweis willkommen.
Besten Dank
Stefan

Hallo,

mit der Tastenkombination
ctrl + shift + :
trägt Excel die aktuelle Uhrzeit in eine Zelle ein, egal, ob die Zelle nur selektiert ist oder ob die Schreibmarke drinsteht. Solange die Eingabe in die Zelle nicht abgeschlossen wird, trägt Excel die Uhrzeit ein, ggf. also auch mehrfach.
Allerdings: bei mir wird nur Stunde + Minute eingetragen. Vielleicht weiss jemand mehr …

mit der Tastenkombination
ctrl + .
trägt Excel das aktuelle Datum in eine Zelle ein.

Gruss
Laika

danke für den tip:

cool, wusste gar ned, dass es solche tastenkombis gibt.
ich brauch zwar die Sekunden, aber wenn es das für Tage/Stunden gibt, wird es sicher auch ne Tastenkombi für Sekunden geben.

Besten Dank
Stefan … werd mal n paar durchprobieren

hab jetzt doch mal ein codeschnipsel gefunden - das trägt in die oberste linke zelle (also 1,1) immer die aktuelle Zeit bis zu den Sekunden ein

Das Problem ist, ich weiss nicht wie ich daraus jetzt das mit dem Tastendruck und dem Cursorjump verbinde?

Private Sub btnShowTime_Click()
ActiveSheet.Cells(1, 1).Formula = Format$(Now, „HH:mm:ss“)
End Sub

Hallo,

hab jetzt doch mal ein codeschnipsel gefunden - das trägt in
die oberste linke zelle (also 1,1) immer die aktuelle Zeit bis
zu den Sekunden ein

Das Problem ist, ich weiss nicht wie ich daraus jetzt das mit
dem Tastendruck und dem Cursorjump verbinde?

Von Excel habe ich keine Ahnung, aber ab hier wird es VB, da kann ich etwas helfen. :smile: Versuch mal …

Private Sub btnShowTime\_Click()
 Static Cnt as integer 
 ActiveSheet.Cells(cnt, 1).Formula = Format$(Now, "HH:mm:ss")
 Cnt = Cnt + 1
End Sub

Gruß, Rainer

hallo,

besten Dank für den Code.

Ich hab Ihn mal ausprobiert: Allerdings hat er Laufzeitfehler 1004
anwendungs- und objektorientierter Fehler gesagt.

Ich muss aber gestehen, dass ich bisher nicht soviel Erfahrung mit VBA gesammelt habe (ausser einer Mail-Versendungs-Funktion für Bewerbungen)
:wink:

Jetzt weiss ich weder, was der Fehler mir kommentieren will, noch was ich ändern muss

Besten Dank
Stefan

Hallo Stefan,

ich habe es jetzt mal getestet und den Fehler gefunden.
Beim Start steht Cnt auf Null, ein unzulässiger Wert. Sorry.

Das hier läuft jetzt bei mir:

Private Sub btnShowTime\_Click()
 Static Cnt As Integer
 Cnt = Cnt + 1
 ActiveSheet.Cells(Cnt, 1).Formula = Format$(Now, "HH:mm:ss")
End Sub

Erst hoch zählen, dann schreiben.
Aber kürzer geht es auch:

Private Sub btnShowTime\_Click()
 Static Cnt As Integer
 Cnt = Cnt + 1
 ActiveSheet.Cells(Cnt, 1).Formula = Time
End Sub

Gruß, Rainer

Hi Reiner,

Besten Dank für die Mühe!

Codes funktionieren beide perfekt.

Dank und Grüsse aus Zürich
Stefan

Gruezi Stefan,

Codes funktionieren beide perfekt.

Code ist viel langsamer als Exceleigene Funktionen, formatiere die Spalte als Uhrzeit, hh:mm:ss, dann reicht:

ActiveSheet.Cells(Cnt, 1)=now

Wenn du es genauer brauchst, es gibt da die Codeanweisung „Timer“, da werden auch Bruchteile von Sekunden angezeigt

ActiveSheet.Cells(Cnt, 1)=timer

Gruß
Reinhard

Erst mal Danke für den Code/Beitrag.

Ich versteh aber nicht ganz, warum du sagst, dass Code langsamer als Anweisungen sind und du danach zwei Code Zeilen postest?

Oder versteh ich was falsch?

Danke und Güzi
Stefan

PS: Ansonsten wäre mir schneller natürlich lieber, weil ich damit die Geschwindigkeit von einer Supermarkt-Kassiererin messen soll.

Hallo,

Oder versteh ich was falsch?

ja. :smile: Reinhard meint, daß es schneller ist, das Datumsformat vorher in Excel für die Spalte festzulegen, statt es mit Format(Now,„DD.MM.JJJJ“) festzulegen.

Gruß, Rainer

ah, je comprends - merci beaucoup