Registriert seit: 24.11.2017
Version(en): 2016
Hallo zusammen,
folgende If-Abfrage:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C52:K53")) Is Nothing Then
If Range("F52").Value <= 0 And Range("F53").Value = "JA" Then
Range("F54").Value = "x"
Else
Range("F54").Value = ""
End If
End If
End Sub
Um mir das nun für jede Zelle einzelnd zu ersparen, meine Frage, wie ich das verallgemeinern kann.
Ich möchte diese If-Abfrage jeweils für:
C52 + C53 - dann das "x" in C54
D52 + D53 - dann das "x" in D54
usw.
Danke und Gruss
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo Jules,
versuche es mal so:
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C52:K53")) Is Nothing Then
If Cells(52, Target.Column).Value <= 0 And Cells(53, Target.Column).Value = "JA" Then
Cells(54, Target.Column).Value = "X"
Else
Cells(54, Target.Column).Value = ""
End If
End If
End Sub
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 24.11.2017
Version(en): 2016
Hallo Klaus-Dieter,
das funktioniert ganz hervorragend!
Noch einen Tipp, wie ich hierbei die Groß-/Kleinschreibung ignorieren kann?
Es rutscht einem ja schnell mal ein "ja" anstatt einem "JA" raus

Danke !
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo Jules,
entweder so:
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C52:K53")) Is Nothing Then
If Cells(52, Target.Column).Value <= 0 And Cells(53, Target.Column).Value = "JA" Or Cells(53, Target.Column).Value = "Ja" Then
Cells(54, Target.Column).Value = "X"
Else
Cells(54, Target.Column).Value = ""
End If
End If
End Sub
oder du verhinderst über eine Gütigkeitsregel die Eingabe von "Ja"
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 24.11.2017
Version(en): 2016
Or Cells(53, Target.Column).Value = "Ja" hatte ich bereits versucht.
Dann greift aber die erste Abfrage "kleiner als Null" nicht mehr und er setzt mir das X überall dort, wo "Ja" bzw. "JA" steht.
Passt :)
Danke Dir
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
bei "Ja" passt es nicht!
Gruß Uwe
Registriert seit: 24.11.2017
Version(en): 2016
habe es nun mit:
UCase(Cells(53, Target.Column)) = "JA"
gelöst
Gruss
Registriert seit: 11.04.2014
Version(en): Office 365
12.03.2021, 14:59
(Dieser Beitrag wurde zuletzt bearbeitet: 12.03.2021, 15:06 von Klaus-Dieter.)
Hallo Jules,
stimmt, man sollte doch immer testen. Sehe mir das heute Nachmittag noch mal an. Jetzt muß ich erst mal weg.
Hallo Jules,
dann so:
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C52:K53")) Is Nothing Then
If Cells(52, Target.Column).Value <= 0 Then
If Cells(53, Target.Column).Value = "JA" Or Cells(53, Target.Column).Value = "Ja" Then
Cells(54, Target.Column).Value = "X"
End If
Else
Cells(54, Target.Column).Value = ""
End If
End If
End Sub
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden