Crimson_Sabbath
Lieutenant
- Registriert
- Nov. 2011
- Beiträge
- 735
Hallo zusammen,
ich würde mir gerne eine Tätigkeitenliste pflegen in der ich meine Tätigkeiten mit dem Zeitaufwand erfasse.
Da ich bzgl. VBA noch recht neu bin (lesen klappt bei vielen Makros, "freies" schreiben ist aktuell noch schwierig) habe ich mich mal mit diversen Befehlen am schreiben versucht.
Folgendes soll es mir an Arbeit abnehmen: Bei Eingabe eines Wertes in eine beliebige Zelle in Spalte B, soll in der dazugehörigen Zelle in Spalte A ein Timestamp gesetzt werden.
Allerdings sollte bei einer Änderung in Spalte B der Timestamp in A nicht überschrieben werden (bspw. wenn die Tätigkeit im Nachgang von der Syntax her angepasst wird.
Mein Ansatz ist folgender (ganz nach der Logik aus einem Tages-Crash-Kurs in VBA): Suche die letzte beschriebene Zeile in Spalte B und schreibe (sofern diese leer ist) einen Timestamp in Spalte A.
Nach anfänglicher Fehlersuche bin ich drauf gestoßen... es fehlt der Automatismus. Ich bin mir unschlüssig wie ich den (vermutlich einfachen) Befehl "Prüfe nach jeder Zelleingabe" hier einbringe. Ggfs. fehlen mir auch nur die korrekten Suchparameter bei Google (Afterupdate, nach Zellaktualisierung,...)
Gibt es hier jmd. mit einem Tipp?
Sub Timestamp()
Dim i, letztezeile As Integer
LetzteZeile = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
For i = 1 To LetzteZeile
If Cells(i, 2).Value <> "" Then
If Cells(i, 1).Value = "" Then
Cells(i, 1).Value = CDate(Format(Now, "dd.mm.yy hh:mm"))
End If
End If
Next
End Sub
ich würde mir gerne eine Tätigkeitenliste pflegen in der ich meine Tätigkeiten mit dem Zeitaufwand erfasse.
Da ich bzgl. VBA noch recht neu bin (lesen klappt bei vielen Makros, "freies" schreiben ist aktuell noch schwierig) habe ich mich mal mit diversen Befehlen am schreiben versucht.
Folgendes soll es mir an Arbeit abnehmen: Bei Eingabe eines Wertes in eine beliebige Zelle in Spalte B, soll in der dazugehörigen Zelle in Spalte A ein Timestamp gesetzt werden.
Allerdings sollte bei einer Änderung in Spalte B der Timestamp in A nicht überschrieben werden (bspw. wenn die Tätigkeit im Nachgang von der Syntax her angepasst wird.
Mein Ansatz ist folgender (ganz nach der Logik aus einem Tages-Crash-Kurs in VBA): Suche die letzte beschriebene Zeile in Spalte B und schreibe (sofern diese leer ist) einen Timestamp in Spalte A.
Nach anfänglicher Fehlersuche bin ich drauf gestoßen... es fehlt der Automatismus. Ich bin mir unschlüssig wie ich den (vermutlich einfachen) Befehl "Prüfe nach jeder Zelleingabe" hier einbringe. Ggfs. fehlen mir auch nur die korrekten Suchparameter bei Google (Afterupdate, nach Zellaktualisierung,...)
Gibt es hier jmd. mit einem Tipp?
Sub Timestamp()
Dim i, letztezeile As Integer
LetzteZeile = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
For i = 1 To LetzteZeile
If Cells(i, 2).Value <> "" Then
If Cells(i, 1).Value = "" Then
Cells(i, 1).Value = CDate(Format(Now, "dd.mm.yy hh:mm"))
End If
End If
Next
End Sub