Der Schnitt funktioniert nicht.
Dim NTit As Range Dim NInf As Range Dim NDat As Range
Dim WS als Arbeitsblatt Setze WS = ActiveSheet
Set NTit = WS.Range("$A$1:$J$1") Set NInf = WS.Range("$B$3:$F$3") Set NDat = WS.Range("$A$5:$K$11") NTit.Interior.Color = RGB(255, 0, 0) If Not Intersect(Target, NTit, NInf, NDat) Is Nothing Then
microsoft-excel
vba
Anao
quelle
quelle
Antworten:
Das
Intersect
funktioniert nicht, da jeder Parameter eine oder mehrere gemeinsame Zellen haben muss. Es ist keine ODER-Situation; es ist ein AND. Sie müssen im Wesentlichen verwendenTarget AND (NTit OR NInf OR NDat)
. Dies kann durch Kombination erreicht werdenIntersect
mitUnion
.Das sieht aus, als könnte es von einem sein
Worksheet_Change
Ereignismakro. Wenn dies der Fall ist, müssen Sie nicht deklarieren und zuordnenWS
. Du könntest es einfach gebrauchenME
als Arbeitsblattobjekt. Es gibt andere Verbesserungen, die ich vorschlagen könnte, aber Sie würden Ihre Frage bearbeiten und mehr Code veröffentlichen, bevor ich sehen konnte, wie dies mit anderen Faktoren zusammenhängt.quelle