l0c4lh0st
Goto Top

Aktuelle Zeit in Zelle speichern

Hallo liebe Admins,

bin gerade dabei eine Excel Datei zwecks Überstunden zu erstellen und komme nun nicht weiter.

Ich habe ein VBA-Script welches meine Excel Datei ständig aktualisiert. Das ist nötig, da ich die Aktuelle Uhrzeit sowie die Verbleibenden Stunden und Minuten ausgegeben haben möchte.

Wenn ich feierabend mache mache ich an das Ende der entsprechenden Zeile ein "X" sobald dieses X gesetzt wurde soll die Zelle in der die Uhrzeit vorher angezeigt wurde stoppen.
Also Quasi eine Art Stop befehl für die Zelle. Sie soll danach nichtmehr aktualiesiert werden.

Aber ich bekomme das mit dem JETZT() Befehl nicht hin. Der läuft ja immer weiter.

Hat wer ne Idee?

Danke

Content-Key: 107939

Url: https://administrator.de/contentid/107939

Ausgedruckt am: 28.03.2024 um 19:03 Uhr

Mitglied: L0c4lh0sT
L0c4lh0sT 04.02.2009 um 07:47:39 Uhr
Goto Top
So hab jetzt schonmal einen Teilerfolg erziehlt.
Hab jetzt ein Makro gefunden was nach dem heutigen Datum sucht und in diese Zeile springt.
Leider hilft mir das nicht ganz.

Er sucht jetzt zwar das Datum aber leider in der falschen Spalte.

Ich habe in A6 bis A33 das jeweilige Datum des Monats. Also vom 01. bis zum 28. Februar. Er springt nach ausführen des Makros in die Zelle mit dem heutigen Datum. In Zelle D6 bis D33 steht die jetzige Uhrzeit. Allerdings nur wenn in Reihe "L" der jeweiligen Zeile kein "x" eingetragen ist. Die Formel in D6 sieht z.B. so aus: =WENN(L6="X";"";JETZT())
Also zeigt er die aktuelle Uhrzeit nur an dem Tag an an dem kein "X" steht. "X" wird standardmäßig in "L" eigetragen wenn in Spalte "A" nicht das heutige Datum steht. Bsp. In Zelle A9 steht der 04.02.2009. In Zelle C2 steht immer das heutige Datum!
Der Code in L9 sieht so aus: =WENN(TAG($C$2)=TAG(A9);;"X"). So macht er in L9 eine "0". Die anderen Felder von "L" haben alle ein "X".
Jetzt soll er wenn er das Heutige Datum gefunden hat zu der jeweiligen Zelle in Reihe "D6 bis D33" springen.

Wie stell ich das an?

Eine möglichkeit die Uhrzeit zu speichern hab ich auch gefunden.

Also nur wie man zu D springt
Mitglied: L0c4lh0sT
L0c4lh0sT 04.02.2009 um 10:55:56 Uhr
Goto Top
So habs geschafft.

Für die die es Interessiert. Hier mein Code

Sub CommandButton1_Click()
Dim rg As Range
Set rg = Range("A6:A33").Find(What:=Date, After:=Range("A6"), LookIn:= _  
        xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:= _
        xlNext, MatchCase:=False)
    If rg Is Nothing Then
        MsgBox "Datum " & Date & " nicht gefunden"  
    Else
        rg.EntireRow.Select
        Selection.Copy
       Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    End If
End Sub

Und das Aktualisierungs Makro:

Private Sub Workbook_Open()
Calculate
Application.OnTime Now + TimeValue("00:00:01"), "timer"  
End Sub