16.04.2021, 12:10
Ich möchte in Spalte A über ein Dropdown Menü zwischen "Verfügbar" und "Entliehen" auswählen.
Wenn ich "Entliehen" wähle, soll er in die Spalte B in die jeweilige Zelle das aktuelle Datum packen. Hierbei muss beachtet werden, dass das Datum ein statisches ist. Beim nächsten öffnen der Tabelle darf also nicht das Datum auf das heutige aktualisiert werden.
Dieses habe ich mit folgendem Code auch schon gelöst.
Option Explicit
'***********************************************************************
' Reagiert nur auf die Eingaben in den Zellen "A1:A9999"
'***********************************************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range ' Reaktionbereich
' Bei Mehrfachauswahl von Zellen Programm beenden
If Target.Cells.Count > 1 Then Exit Sub
' Arbeitsbereich referenzieren
Set Bereich = Range("A1:A9999")
' Nur im Bereich B23 reagieren
If Intersect(Target, Bereich) Is Nothing Then Exit Sub
' Nur wenn der Wert = "Done", dann aktuelles Datum schreiben
If Target.Value <> "Entliehen" Then Exit Sub
' Datum in Spalte B schreiben
Cells(Target.Row, Target.Column + 1).Value = Date
' Objektvariable löschen
Set Bereich = Nothing
End Sub
Problem ist nun :
Wenn ich "Verfügbar" auswähle, müsste Zelle B gecleart werden, heißt dass er bei den Zellen wo ich dann Verfügbar auswähle, soll die Zelle leer werden oder "leer" stehen.
Wie kann ich dies in den obenstehenden Code einbetten ?
Hoffe mir kann jemand weiterhelfen.
Wenn ich "Entliehen" wähle, soll er in die Spalte B in die jeweilige Zelle das aktuelle Datum packen. Hierbei muss beachtet werden, dass das Datum ein statisches ist. Beim nächsten öffnen der Tabelle darf also nicht das Datum auf das heutige aktualisiert werden.
Dieses habe ich mit folgendem Code auch schon gelöst.
Option Explicit
'***********************************************************************
' Reagiert nur auf die Eingaben in den Zellen "A1:A9999"
'***********************************************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range ' Reaktionbereich
' Bei Mehrfachauswahl von Zellen Programm beenden
If Target.Cells.Count > 1 Then Exit Sub
' Arbeitsbereich referenzieren
Set Bereich = Range("A1:A9999")
' Nur im Bereich B23 reagieren
If Intersect(Target, Bereich) Is Nothing Then Exit Sub
' Nur wenn der Wert = "Done", dann aktuelles Datum schreiben
If Target.Value <> "Entliehen" Then Exit Sub
' Datum in Spalte B schreiben
Cells(Target.Row, Target.Column + 1).Value = Date
' Objektvariable löschen
Set Bereich = Nothing
End Sub
Problem ist nun :
Wenn ich "Verfügbar" auswähle, müsste Zelle B gecleart werden, heißt dass er bei den Zellen wo ich dann Verfügbar auswähle, soll die Zelle leer werden oder "leer" stehen.
Wie kann ich dies in den obenstehenden Code einbetten ?
Hoffe mir kann jemand weiterhelfen.