EXCEL VBA: Zeitstempel automatisch setzen sobald Zelle nicht leer?

2 Antworten

Du solltest dafür das Change-Ereignis des Tabellenblatts verwenden.

Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Range("B:B")) Is Nothing Then _
  Target.Offset(0, -1).Value = Now
End Sub

Das Format würde ich über das Zellformat festlegen (Strg+1).

mozartinius 
Fragesteller
 11.02.2020, 09:09

Danke für die schnelle Antwort - nachdem einfach gar nichts passiert, sobald ich diesen Code verwende, glaube ich langsam dass mein PC ein Problem mit den Befehlen (ByVal Target As Range) hat.. weil mir wird auch keine Message Box ausgegeben, wenn ich eine einfüge um zu sehen ob alles durchläuft.. irgendwo bricht der code anscheinend ab :-/

1
Suboptimierer  11.02.2020, 09:44
@mozartinius

Häufiger Fehler bei Events ist, dass sie nicht am Objekt abgefangen werden, an dem sie auftreten.

Du musst den Code im Projektexplorer unter dein Tabellenblatt kopieren.

2

Einfach einmal oben bei Debuggen den ersten Eintrag Kompilieren... anklicken. ggf ist irgenwo anders ein problem in einer Prozedur oder Funktion, so dass das VBA Modul nicht sauber läuft

mozartinius 
Fragesteller
 11.02.2020, 10:12

Danke für den Tipp - scheint jedcoh wirklich irgendwo ein Problem in der Prozedur bzw der Funktion zu sein, da nach wie vor überhaupt nichts passiert. Ich erhalte auch keine Fehlermeldung oder sonst etwas, weswegen ich fast denke, dass die erste Zeile das Problem darstellt - keine Ahnung, wo ich hier den Fehler beheben kann

1
mozartinius 
Fragesteller
 11.02.2020, 10:47

Es hat sich inzwischen geklärt, warum der Code nicht ausgeführt wird - meine Firma hat die Ausführung von automatischen Makros komplett gesperrt - DANKE also für die Hilfe :)

im Privaten Netz funktioniert der Code super!

1