Datum des Eintrages soll bleiben
#1
Moin,

wenn ich in A72 etwas eintrage, wird das Datum des Eintrages, also heute zum Beispiel eingetragen.

Wenn ich die Datei aber morgen wider öffne soll das Datum wo der Eintrag erfolgte bleiben.

Ich habe hier diese Formel: =WENN(A72<>""; HEUTE(); "")

Gibt es eine andere Formel dafür?? Oder kann man es nur über VBA machen??

Vielen dank für die Mühen.
Antworten Top
#2
Hi,

du könntest die Formel nach Eintrag kopieren und gegen einen Wert ersetzen
oder das Datum fest mit Tastenkombination setzen (Strg + .)
Oder das Datum automatisch per VBA (Stichwort Change Event) setzen

VG Jane
Antworten Top
#3
gelöscht...
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

Antworten Top
#4
Moin,

ich habe dieses für VBA gefunden:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    ' Wenn Änderung in Spalte A (1)
    If Not Intersect(Target, Columns(1)) Is Nothing Then
        Target.Offset(0, 3).Value = Date ' Datum in Spalte D schreiben
    End If
End Sub

Gibt es noch die Möglichkeit, wenn in Spalte A nichts drin steht, soll auch in D nichts drin stehen.

Vielen dank
Antworten Top
#5
Hi

Private Sub Worksheet_Change(ByVal Target As Range)
dim Zelle as Range
If not intersect(Target, Columns(1)) is nothing then
    Application.EnableEvents = false
    for each Zelle in Intersect(Target.Columns(1)).cells
        if Zelle.value = "" then
           Zelle.Offset(0, 3).value = ""
        else
            Zelle.Offset(0, 3).value = Date
       end if
    next
    Application.EnableEvents = true
end if
End Sub

Gruß Daniel
Antworten Top
#6
Moin,

bei mir kommt die Fehlermeldung:    

(20.02.2026, 14:28)Hobbit schrieb: Moin,

bei mir kommt die Fehlermeldung:

Vielen dank für die Hilfe.
Ich habe es per Google herausgefunden:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Zelle As Range
    ' Prüfen, ob die Änderung in Spalte A (1) stattfand
    If Not Intersect(Target, Columns(1)) Is Nothing Then
        Application.EnableEvents = False
       
        ' Nur die geänderten Zellen innerhalb von Spalte A durchlaufen
        For Each Zelle In Intersect(Target, Columns(1)).Cells
            If Zelle.Value = "" Then
                Zelle.Offset(0, 3).Value = "" ' Spalte D leeren
            Else
                Zelle.Offset(0, 3).Value = Date ' Aktuelles Datum in Spalte D
            End If
        Next Zelle
       
        Application.EnableEvents = True
    End If
End Sub
Antworten Top
#7
schön, dass meinen Fehler gefunden und selber korrigiert hast.

allerdings, warum Google? in der Zeile obendrüber habe ich ja schon mal das Intersect verwendet und hier tritt kein Fehler auf.
das erste, was du hättest also tun können, wäre gewesen, dass du mal schaust, wo hier die Unterschiede liegen.
Gruß Daniel
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste