Uhrzeit per Doppelklick eintragen
 |
Betrifft: Uhrzeit per Doppelklick eintragen
von: Ralf-Eckhard
Geschrieben am: 05.09.2004 14:11:42
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
Betrifft: AW: Uhrzeit per Doppelklick eintragen
von: Ramses
Geschrieben am: 05.09.2004 14:27:38
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
Betrifft: AW: Uhrzeit per Doppelklick eintragen
von: Ralf-Eckhard
Geschrieben am: 05.09.2004 14:45:26
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
Betrifft: AW: Uhrzeit per Doppelklick eintragen
von: Ramses
Geschrieben am: 05.09.2004 15:00:53
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
Betrifft: AW: Uhrzeit per Doppelklick eintragen
von: Nina
Geschrieben am: 05.09.2004 15:25:29
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
Betrifft: AW: Uhrzeit per Doppelklick eintragen
von: Ramses
Geschrieben am: 05.09.2004 15:34:31
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
Betrifft: AW: Uhrzeit per Doppelklick eintragen
von: Bert
Geschrieben am: 05.09.2004 15:39:49
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
Betrifft: Genehmigt :-)) o.T.
von: Ramses
Geschrieben am: 05.09.2004 15:43:35
...
Betrifft: AW: Uhrzeit per Doppelklick eintragen
von: Nina
Geschrieben am: 05.09.2004 15:40:18
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
Betrifft: Merci :-) Geschlossen o.T.
von: Ramses
Geschrieben am: 05.09.2004 15:43:00
...
Betrifft: AW: Uhrzeit per Doppelklick eintragen
von: Ramses
Geschrieben am: 05.09.2004 14:28:14
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
Betrifft: Uooopps, Einmal hätte gereicht :-) o.T.
von: Ramses
Geschrieben am: 05.09.2004 14:28:59
...
Beiträge aus den Excel-Beispielen zum Thema "Uhrzeit per Doppelklick eintragen"