ich bitte um Hilfe für folgende Aufgabenstellung:
Wenn in einer Zeile eine oder mehrere Zellen im Bereich z.B. d1 - d9 geändert
werden, soll in d25 das aktuelle Datum geschrieben werden.
Wie lässt sich dies realisieren?
Danke für die Hilfe
Herbert
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("D1:D9"), Target) Is Nothing Then
Range("D25").Value = Date
End If
End Sub
Grüßem
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("D1:I9"), Target) Is Nothing _
Or Not Intersect(Range("M1:R9"), Target) Is Nothing Then
Cells(25, Target.Column).Value = Date
End If
End Sub
Bereiche, Zeilen und Spalten bitte selber anpassen.
Um das aktuelle Datum in eine Zelle einzufügen, wenn eine oder mehrere Zellen in einem bestimmten Bereich geändert werden, kannst Du einen VBA-Code verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:
Öffne Excel und den gewünschten Arbeitsblatt.
Drücke ALT
+ F11
, um den VBA-Editor zu öffnen.
Suche im Projektfenster nach Deinem Arbeitsblatt (z.B. Tabelle1
) und doppelklicke darauf.
Füge den folgenden Code in das Codefenster ein:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("D1:D9"), Target) Is Nothing Then
Range("D25").Value = Date
End If
End Sub
Passe den Bereich an, falls nötig, um andere Zellen oder Zeilen zu berücksichtigen.
Schließe den VBA-Editor und kehre zu Deinem Arbeitsblatt zurück.
Teste die Funktion, indem Du eine der Zellen im definierten Bereich änderst. Das aktuelle Datum sollte nun in Zelle D25 erscheinen.
Fehler 1: Datum wird nicht aktualisiert
Datei
> Optionen
> Trust Center
> Einstellungen für das Trust Center
und aktiviere die Makros.Fehler 2: Falsche Zelle wird aktualisiert
Range("D1:D9")
und Range("D25")
nach Bedarf.Eine Alternative zur Verwendung von VBA ist die Nutzung von Excel-Formeln, um das Änderungsdatum anzuzeigen. Allerdings gibt es keine direkte Möglichkeit, das Datum in einer Zelle zu aktualisieren, wenn eine Zelle geändert wird, ohne VBA.
Eine Möglichkeit wäre, die Funktion =HEUTE()
zu verwenden, aber das aktualisiert sich täglich, nicht nur bei Änderungen.
Hier ist ein praktisches Beispiel, das verschiedene Bereiche berücksichtigt:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("D1:I9"), Target) Is Nothing _
Or Not Intersect(Range("M1:R9"), Target) Is Nothing Then
Cells(25, Target.Column).Value = Date
End If
End Sub
In diesem Beispiel wird das aktuelle Datum in die entsprechende Zelle in Zeile 25 geschrieben, wenn eine Zelle im Bereich D1:I9 oder M1:R9 geändert wird.
1. Wie kann ich das Datum der letzten Änderung einer Zelle anzeigen? Verwende den oben genannten VBA-Code, um das Datum in einer spezifischen Zelle anzuzeigen, wenn eine Änderung erfolgt.
2. Kann ich das Datum in einer anderen Zelle als D25 einfügen?
Ja, Du kannst den Zielbereich in der Range("D25")
-Anweisung im VBA-Code anpassen, um das Datum in jeder gewünschten Zelle anzuzeigen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen