Excel Visual Basic Zeitf in Zelle per Knopfdruck

jodahush

Grünschnabel
Die Idee: Ich habe ein excel sheet zur Arbeitszeiterfassung editiert. Hier markiere ich erst eine Zelle. Dann drücke ich einen Button, der die aktuelle Uhrzeit minus 7 Minuten dort einträgt.
Das Problem: In der Zelle wird die Formel eingetragen. Neuberechnung des Blattes führt dazu das alle Zellen neu berechnet werden. Damit steht in jeder Zelle, auch den Zellen der letzten Tage, mit der Formel die aktualisierte Uhrzeit. Also muss statt =NOW()- TIME(0,7,0) dort die Zeit eingefügt werden.
Wie kann ich das machen?

Sub SetStartTime()

ActiveCell.Formula = "=NOW()- TIME(0,7,0)"
ActiveCell.NumberFormat = "h:mm;@"
Range("D3").Select

End Sub

Das ganze wird per knopfdruck aktiviert.
 
Erstmal als Tipp, das Forum hier hat Code-Tags für fast jede Sprache, bei VB wären das also [code=vb] bzw. [/code] . Damit hebt sich der Code etwas ab und hat Syntaxhighlighting.

zur Frage, verwende einfach
Visual Basic:
ActiveCell.Value = Time
dann wird in die Zelle nur die zum Zeitpunkt des Eintragens aktuelle Zeit eingeschrieben. Die bleibt dann immer gleich.


Der Doc!
 
Zuletzt bearbeitet:
Danke

nun wollte ich noch ein Paar Minuten abziehen, bzw. aufaddieren.
Wie kann ich das tun?
time+2 ist zu viel
gruss
jodahush
 
Richtig da Zeit normalerweise in Doubles also als Fliesskommazahl intern hinterlegt ist ist + 2 im normalfall schon ein Sprung um ein paar tage (um genau zu sein um ein Jahr)
versuch es mal mit der Funktion

Visual Basic:
ActiveCell.Value = Dateadd("n",-2,Time)

Grüsse bb
 

Neue Beiträge

Zurück