Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Uhrzeit per Doppelklick eintragen

Uhrzeit per Doppelklick eintragen
05.09.2004 14:11:42
Ralf-Eckhard
Hallo.
Mit folgendem Modul kann ich per Doppelklick auf eine Zelle dort die aktuelle Uhrzet eintragen. Wie muß der Code verändert werden, damit dann die aktuelle Zeit zuzüglich 40 Minuten eingetragen wird?
-----

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim zeit As String
zeit = Right(Now(), 8)
ActiveCell.FormulaR1C1 = zeit
Selection.NumberFormat = "hh:mm:ss"
End Sub

-----
Gruß, Ralf-Eckhard
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Uhrzeit per Doppelklick eintragen
Ramses
Hallo
Den Kommentar zu
Zeit = Right(Now,8)
enthalte ich mir jetzt :-)))
In deinem Fall reicht es, den Code so aufzubauen

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target.Value = Format(Now + ((1 / 24 / 60) * 40), "hh:mm:ss")
End Sub

Man könnte es auch noch ein wenig kürzer schreiben, aber es soll dir das Verständnis geben.
1 wird durch 24 Stunden geteilt, diese Zahl nochmals durch 60, dann hast du den Dezimalwert für 1 Minute. Dieser wird nun mit 40 multipliziert, und zur aktuellen Uhrzeit aus "Now()" addiert.
Gruss Rainer
Anzeige
AW: Uhrzeit per Doppelklick eintragen
05.09.2004 14:45:26
Ralf-Eckhard
Hi
hab mir den Code von irgendwo aus dem Internet besorgt - bin selber leider kein VBA-Spezialist [wegen "Zeit = Right(Now,8)"] :-)
Danke für die Hilfe, so wollte ich es haben. Eine Kleinigkeit noch: besteht die Möglichkeit die Uhrzeit auf- bzw. abzurunden - z. B. 14:43=14:45 oder 12:21=12:20? (also daß man nur "5er"- oder "0er"-Werte bekommt)?
Ralf
Anzeige
AW: Uhrzeit per Doppelklick eintragen
Ramses
Hallo
Klar geht das
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target.Value = Format(Round((Now + ((1 / 24 / 60) * 40)) * 24 * 12, 0) / (24 * 12), "hh:mm:ss")
End Sub

Gruss Rainer
Anzeige
AW: Uhrzeit per Doppelklick eintragen
05.09.2004 15:25:29
Nina
Hallo Rainer,
ich hätte auch noch eine Frage dazu.
Wie muß dieser Code aussehen, wenn man nach jeder vollen Stunde auf die nächste
halbe gerundet und nach jeder halben auf eine volle gerundet haben möchte?
z.B. 14:01 = 14:30 oder 14:33 = 15:00
Vielen Dank
Nina
AW: Uhrzeit per Doppelklick eintragen
Ramses
Hallo
machen wir nun eine Schulung in Zeitberechnungen :-)
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target.Value = Format(Round((Now + ((1 / 24 / 60) * 40)) * 24 * 2, 0) / (24 * 2), "hh:mm:ss")
End Sub

Die 2 anstelle der 12 verweist hier auf den Anteil der Stunde.
2 = 30 Minuten
12 = 5 Minuten
Je nachdem wird entsprechend gerundet.
Gruss Rainer
Anzeige
AW: Uhrzeit per Doppelklick eintragen
Bert
Ein kleiner Zusatz ist sicher nützlich:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target.Value = Format(Round((Now + ((1 / 24 / 60) * 40)) * 24 * 2, 0) / (24 * 2), "hh:mm:ss")
Cancel = true
End Sub

Bert
Anzeige
Genehmigt :-)) o.T.
Ramses
...
AW: Uhrzeit per Doppelklick eintragen
05.09.2004 15:40:18
Nina
Hallo Rainer,
Schulungen können Spaß machen, vor allem wenn sie
zum gewünschten Ergebnis führen :)
Danke für Deine Bemühung
Gruß
Nina
Merci :-) Geschlossen o.T.
Ramses
...
Anzeige
AW: Uhrzeit per Doppelklick eintragen
Ramses
Hallo
Den Kommentar zu
Zeit = Right(Now,8)
enthalte ich mir jetzt :-)))
In deinem Fall reicht es, den Code so aufzubauen

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target.Value = Format(Now + ((1 / 24 / 60) * 40), "hh:mm:ss")
End Sub

Man könnte es auch noch ein wenig kürzer schreiben, aber es soll dir das Verständnis geben.
1 wird durch 24 Stunden geteilt, diese Zahl nochmals durch 60, dann hast du den Dezimalwert für 1 Minute. Dieser wird nun mit 40 multipliziert, und zur aktuellen Uhrzeit aus "Now()" addiert.
Gruss Rainer
Anzeige
Uooopps, Einmal hätte gereicht :-) o.T.
Ramses
...
;
Anzeige
Anzeige

Infobox / Tutorial

Uhrzeit per Doppelklick in Excel eintragen


Schritt-für-Schritt-Anleitung

Um die aktuelle Uhrzeit in Excel per Doppelklick auf eine Zelle einzutragen, kannst du folgenden VBA-Code verwenden. Dieser Code fügt die aktuelle Zeit in Excel einfügen, wenn du auf die Zelle doppelklickst.

  1. Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Wähle das Arbeitsblatt aus, in das du den Code einfügen möchtest.

  3. Füge den folgenden Code in das Codefenster ein:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
       Target.Value = Format(Now, "hh:mm:ss")
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu deinem Arbeitsblatt.

  5. Jetzt kannst du durch Doppelklicken auf eine Zelle die Excel aktuelle Uhrzeit einfügen.

Um die aktuelle Uhrzeit um 40 Minuten zu erhöhen, ändere den Code wie folgt:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Target.Value = Format(Now + ((1 / 24 / 60) * 40), "hh:mm:ss")
End Sub

Häufige Fehler und Lösungen

  • Fehler: Die Zelle bleibt leer, nachdem ich doppelt geklickt habe.

    • Lösung: Stelle sicher, dass der Code in das richtige Arbeitsblatt eingefügt wurde und das Makros aktiviert sind.
  • Fehler: Ich sehe nicht die korrekte Uhrzeit.

    • Lösung: Überprüfe das Zellenformat. Du kannst das Format auf hh:mm:ss setzen, um die Uhrzeit korrekt anzuzeigen.

Alternative Methoden

Eine andere Methode, um die aktuelle Zeit in Excel einzufügen, ist die Verwendung der Funktion =JETZT(). Diese Methode ist allerdings nicht interaktiv wie die VBA-Lösung.

  1. Klicke in eine Zelle.
  2. Gib die Formel ein: =JETZT().
  3. Drücke Enter, um die aktuelle Zeit anzuzeigen.

Diese Methode erfordert jedoch, dass du die Zelle manuell aktualisierst, um die aktuelle Zeit anzuzeigen.


Praktische Beispiele

  1. Uhrzeit mit Auf- oder Abrunden: Wenn du die Uhrzeit auf die nächste 5-Minuten-Marke runden möchtest, verwende diesen Code:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
       Target.Value = Format(Round((Now) * 24 * 12, 0) / (24 * 12), "hh:mm:ss")
    End Sub
  2. Halbstündliches Runden: Um die Uhrzeit auf die nächste halbe oder volle Stunde zu runden, benutze den folgenden Code:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
       Target.Value = Format(Round((Now) * 24 * 2, 0) / (24 * 2), "hh:mm:ss")
    End Sub

Tipps für Profis

  • Um die Funktionalität zu erweitern, kannst du den Cancel-Parameter auf True setzen, um das Standardverhalten von Excel beim Doppelklick zu unterdrücken:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
       Target.Value = Format(Now, "hh:mm:ss")
       Cancel = True
    End Sub
  • Experimentiere mit verschiedenen Zeitformaten, um die Darstellung der Uhrzeit in Excel anzupassen.


FAQ: Häufige Fragen

1. Kann ich die Uhrzeit auch in einer anderen Zeitzone einfügen? Ja, dazu musst du die Zeit entsprechend anpassen, indem du die Zeitzonenverschiebung berücksichtigst.

2. Wie kann ich die Uhrzeit in einer bestimmten Zelle einfügen? Ändere den Target-Parameter im VBA-Code, um spezifische Zellen anzusprechen (z.B. Range("A1").Value = Format(Now, "hh:mm:ss")).

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige