Office-Fragen.de
Wert einer Zelle ändern bei Bedingung VBA - Druckversion

+- Office-Fragen.de (https://office-fragen.de)
+-- Forum: Microsoft Office (https://office-fragen.de/forum-1.html)
+--- Forum: Excel (https://office-fragen.de/forum-2.html)
+--- Thema: Wert einer Zelle ändern bei Bedingung VBA (/thread-23512.html)



Wert einer Zelle ändern bei Bedingung VBA - Koobcam - 23.10.2021

Moin zusammen,

ich habe schon mehrere Sachen ausprobiert aber nichts funzt so richtig.

Ich habe zwei bestimmte Spalten in einer Tabelle. Die erste heißt "Inaktiv" und die zweite ist eine Datumsspalte.
Wenn ein Datum in einer Zelle der Datumsspalte steht soll gleichzeitig ein "X" in der gleichen Zeile in Spalte "Inaktiv" erscheinen.
Wenn also Datum in AL6 steht, dann X in B6. Ich bekomme es für eine Zeile geschrieben aber krieg es nicht hin, dass es in anderen Zeilen klappt. Also AL7 für B7 usw.
Rein theoretisch müsste ich ja mit einer Abfrage die Zelle in AL identifizieren und dann auf B übertragen...
VBA muss sein.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("AL6")) Is Nothing Then
ActiveSheet.Range("B6") = "X"

End If
End Sub




Gruß
Koobcam


RE: Wert einer Zelle ändern bei Bedingung VBA - Calderon - 24.10.2021

Warum per VBA, kann auch etwas anderes als ein Datum in AL6 stehen?

Da reicht doch eine Wenn-Formel in B6 usw.


RE: Wert einer Zelle ändern bei Bedingung VBA - Koobcam - 24.10.2021

Moin!
B6 kann auch ein manuell gesetztes X per Doppelklick erhalten, ohne einen Eintrag in der Datumsspalte. Das würde einiges durcheinander bringen. Es ist ein Indikator für eine Inaktivität. Wird das X manuell gesetzt --> Inaktivierung der Zeile. Erhält AL6 ein Datum, dann das X automatisch setzen. 





Gruß
Koobcam


RE: Wert einer Zelle ändern bei Bedingung VBA - Flotter Feger - 24.10.2021

Hallo,

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("AL:AL")) Is Nothing Then
    If IsDate(Target.Value) Then ActiveSheet.Cells(Target.Row, 2) = "X"
End If

End Sub