Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro: Aktuelles Datum bei Wertänderung

Makro: Aktuelles Datum bei Wertänderung
14.03.2014 10:38:41
Timo
Hallo liebes Forum!
Ich benötige ein Makro, dass in eine Zelle das aktuelle Datum schreibt, wenn sich der Wert in einer anderen Zelle ändert. Da eine Beispieltabelle mehr sagt, als tausend Worte habe ich euch ein entsprechendes Excelsheet angefertigt:
https://www.herber.de/bbs/user/89670.xlsx
Ich hoffe ihr könnt mir bei meinem Problem helfen.
Vielen Dank im Voraus für jeden Tipp oder Lösungsansatz!
Beste Grüße
Timo

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro: Aktuelles Datum bei Wertänderung
14.03.2014 10:45:35
Klaus
Hallo Timo,
direkt in Tabelle1:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo hell
If Target.Column = 2 _
And Selection.Cells.Count = 1 _
And Target.Row >= 4 Then
Application.EnableEvents = False
Target.Offset(, Target.Value).Value = Date
End If
hell:
Application.EnableEvents = True
End Sub
Grüße,
Klaus M.vdT.

Anzeige
mit Überschreibschutz ...
14.03.2014 10:49:58
Klaus
Hallo nochmal,
um versehentliches Überschreiben zu verhindern:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo hell
If Target.Column = 2 _
And Target.Row >= 4 _
And Selection.Cells.Count = 1 Then
Application.EnableEvents = False
With Target.Offset(, Target.Value)
If .Value = "" Then
.Value = Date
Else
If MsgBox("Achtung, enthält bereits ein Datum! Überschreiben?", vbYesNo) = 6  _
Then
.Value = Date
End If
End If
End With
End If
hell:
Application.EnableEvents = True
End Sub
Man könnte auch noch prüfen, ob die früheren Reifegrade bereits ausgefüllt sind ...
Grüße,
Klaus M.vdT.

Anzeige
AW: mit Überschreibschutz ...
14.03.2014 11:44:23
Timo
Hallo Klaus, vielen vielen Dank!
Du hast mir sehr geholfen... das Makro funktioniert einwandfrei!
Wie müsste ich das Makro abändern, wenn es einen Reifegrad 0 gäbe bei dem nichts passieren soll?
Beste Grüße
Timo

ohne Null
14.03.2014 12:16:57
Klaus
Hi Timo,
einfach das IF Ergänzen, so dass bei 0 nichts passiert:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo hell
If Target.Column = 2 _
And Target.Row >= 4 _
    And Not Target.Value = 0 _
And Selection.Cells.Count = 1 Then
Application.EnableEvents = False
With Target.Offset(, Target.Value)
If .Value = "" Then
.Value = Date
Else
If MsgBox("Achtung, enthält bereits ein Datum! Überschreiben?", vbYesNo) = 6 _
Then
.Value = Date
End If
End If
End With
End If
hell:
Application.EnableEvents = True
End Sub
Grüße,
Klaus M.vdT.

Anzeige
AW: ohne Null
14.03.2014 13:32:20
Timo
Danke dir, Klaus!

danke für die Rückmeldung! owT
15.03.2014 13:05:55
Klaus
.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige