Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1940to1944
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Zelle mit Datum Füllen wenn andere Zelle ausgefüllt - VBA
07.08.2023 13:57:08
Michael Schlüter
Kann mir jemand helfen dies umzustellen .

Ich möchte in Spalte H das Datum haben wenn die Spalte E ausgefüllt wird ........
Es gibt ein Beispiel welches ich aber nicht auf Spalte H und E geändert bekomme.


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
If Target.Column = 2 Then
If Target = "" Then
Target.Offset(, -1) = ""
Else
If Target.Offset(, -1) = "" Then
Target.Offset(, -1) = Date
End If
End If
End If
End If
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle mit Datum Füllen wenn andere Zelle ausgefüllt - VBA
07.08.2023 14:36:38
daniel
Hi
Spalte = Column
Spalte E ist Spalte 5
Spalte H ist Spalte 8, dh man muss von Spalte 5 um 3 Spalten nach rechts springen (rechts = positiv), um in Spalte 8 zu landen.
in den Anweisung Offest(x, y) beschreibt x den Zeilensprung und y den Spaltensprung. Positive Werte stehen für Sprung nach unten bzw rechts, Negative Werte für Sprung nach links bzw oben. Ist ein Sprungwert nicht angegeben, so bleibt man in der jeweiligen Zeile oder Spalte.

Mit diesen Informationen solltest du den Code umschreiben können.

Gruß Daniel
AW: Zelle mit Datum Füllen wenn andere Zelle ausgefüllt - VBA
07.08.2023 14:39:51
Rudi Maintaire
Hallo,
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Count = 1 Then
If Target.Column = 5 Then
If Target = "" Then
Target.Offset(, 3) = ""
Else
If Target.Offset(, 3) = "" Then
Target.Offset(, 3) = Date
End If
End If
End If
End If
End Sub


Gruß
Rudi
Anzeige
AW: Zelle mit Datum Füllen wenn andere Zelle ausgefüllt - VBA
07.08.2023 15:02:55
GerdL
Hallo Michael,

noch ein Spielzeug.
Private Sub Worksheet_Change(ByVal Target As Range)


Dim C As Range


If Not Intersect(Target, Range("E2:E9999")) Is Nothing Then
For Each C In Intersect(Target, Range("E2:E9999"))
If C = "" Then
C.Offset(0, 3) = ""
ElseIf C.Offset(0, 3) = "" Then
C.Offset(0, 3) = Date
End If
Next
End If


End Sub

Gruß Gerd

378 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Anzeige

Infobox zum Thema

EXCEL - Zelle mit Datum füllen, wenn andere Zelle ausgefüllt ist


Inhaltsverzeichnis


Die Fragestellung


Du möchtest in Excel eine Zelle automatisch mit dem aktuellen Datum füllen, sobald eine andere Zelle ausgefüllt wird.


Erläuterung des Problems {#erläuterung-des-problems}


In Excel gibt es keine eingebaute Funktion, die eine Zelle automatisch mit einem Datum ausfüllt, wenn eine andere Zelle bearbeitet wird. Dies kann jedoch mit einem VBA-Makro erreicht werden, das auf das Worksheet_Change Ereignis reagiert.


Lösung des Problems {#lösung-des-problems}


Du kannst das folgende VBA-Makro verwenden, um das gewünschte Verhalten zu erreichen. Dieses Makro muss im Codebereich des entsprechenden Arbeitsblatts platziert werden:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim InputRange As Range
    Dim DateRange As Range
    Set InputRange = Me.Range("A1") ' Die Zelle, die überwacht wird
    Set DateRange = Me.Range("B1") ' Die Zelle, die das Datum erhalten soll

    ' Prüfe, ob die Änderung in der überwachten Zelle stattgefunden hat
    If Not Intersect(Target, InputRange) Is Nothing Then
        ' Prüfe, ob die überwachte Zelle nicht leer ist
        If Not IsEmpty(InputRange.Value) Then
            ' Setze das aktuelle Datum in die Datumzelle
            DateRange.Value = Date
        Else
            ' Mache die Datumzelle leer, wenn die überwachte Zelle geleert wird
            DateRange.ClearContents
        End If
    End If
End Sub

Dieses Skript setzt voraus, dass die Zelle A1 die Zelle ist, die überwacht wird, und B1 die Zelle, die das Datum erhalten soll. Du kannst diese Referenzen nach Bedarf anpassen.


Anwendungsbeispiele aus der Praxis


  • Aufgabenmanagement: In einer To-Do-Liste kann das Datum automatisch eingetragen werden, wenn eine Aufgabe als erledigt markiert wird.
  • Bestandsverwaltung: Bei der Eingabe eines neuen Artikels in eine Inventarliste kann das aktuelle Datum als Eingangsdatum festgehalten werden.

Tipps


  • Denke daran, dass das Worksheet_Change Ereignis bei jeder Änderung in dem Arbeitsblatt ausgelöst wird. Daher solltest du sicherstellen, dass dein Makro effizient ist und nur bei den richtigen Bedingungen reagiert.
  • Um zu verhindern, dass das Ereignis mehrfach ausgelöst wird, während dein Makro Änderungen vornimmt, kannst du Application.EnableEvents vorübergehend auf False setzen.

Verwandte Themenbereiche


  • VBA-Programmierung in Excel
  • Ereignisgesteuerte Makros
  • Automatisierung von Datums- und Zeitfunktionen

Zusammenfassung


Um eine Zelle in Excel automatisch mit dem aktuellen Datum zu füllen, wenn eine andere Zelle ausgefüllt wird, kann ein VBA-Makro verwendet werden, das auf das Worksheet_Change Ereignis reagiert. Dies erfordert ein wenig Programmierung, aber es ist eine leistungsstarke Methode, um Excel-Datenblätter zu automatisieren und sicherzustellen, dass sie immer aktuell sind.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige