Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Denkfehler in WENN/ ODER/ UND VBA Zeile

Forumthread: Denkfehler in WENN/ ODER/ UND VBA Zeile

Denkfehler in WENN/ ODER/ UND VBA Zeile
05.03.2008 19:22:01
Andreas
Hallo Herber Unermüdliche,
Ich hänge mich gerade an einer verschachtelten Wenn mit ODER/ UND Funktion in VBA auf. Ich bekomme es einfach nicht hin.

If Not ((Intersect(Target, Range("TEST1")) Is Nothing)) Or ((Intersect(Target, Range("TEST2"))  _
Is Nothing)) And Target.Row > 15 Then …


Wenn In „Test1“ oder In „Test2“ etwas passierte UND aber die jeweils angesprochene Targetzeile größer 15 ist, dann…
Es wird nur jeweils ein Range angesprochen.
Mir brennen schon die Augen und ich sehe den Wald vermutlich vor lauter Bäumen nicht. Ich würde mich sehr freuen, wenn mich jemand auf den kleinen Fehler in meiner Denkweise aufmerksam macht…
Vielen Dank und Grüße, Andreas Hanisch

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Denkfehler in WENN/ ODER/ UND VBA Zeile
05.03.2008 19:26:32
Hajo_Zi
Hallo Andreas,
Nothing kannst Du nur bei Objekten.

If I(ntersect(Target, Range("TEST1"))=0 OrIntersect(Target, Range("TEST2"))=0) And Target.Row >  _
15 Then …



AW: Denkfehler in WENN/ ODER/ UND VBA Zeile
05.03.2008 19:50:01
Andreas
Hallo Hajo,
vielen Dank für Deine Antwort. Ich habe Deine Zeile verwendet und bekomme nun leider die Debugger Meldung „Laufzeitfehler 91. Objektvariable oder With Block Variable nicht festgelegt“.
Meine CodeZeile:

If (Intersect(Target, Range("TEST1")) = 0 Or Intersect(Target, Range("TEST2")) = 0) And Target. _
Row > 15


Das Modell mit “If not intersect is nothing” habe ich an anderer Stelle schon erfolgreich im Einsatz. Einzige Neuerung bei dieser Zeile ist die ODER/ UND Verknüpfung.
Hast Du eine Idee, warum die Debugger Meldung nun kommt? Alle Rangedefinitionen sind im Blatt vorhanden
Vielen Dank und Gruß, Andreas

Anzeige
geht es so ?
05.03.2008 19:38:53
Matthias
Hallo Andreas

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union(Range("Test1"), Range("Test2"))) Is Nothing And Target.Row > 15  _
Then
MsgBox "Bedingung erfüllt"
End If
End Sub


Gruß Matthias

Anzeige
AW: geht es so ?
05.03.2008 19:54:00
Andreas
Hallo Matthias,
ich habe es gerade getestet und es sieht nach einer Punktlandung aus. Funktioniert!
Ich kannte die UNION Methode bisher überhaupt nicht. Genial. Wieder etwas gelernt. Aber ich fürchte VBA ist sooooo ein weites Feld. Alles wird man nie wissen...
Grüße aus Berlin, Andreas Hanisch

Anzeige
freut mich, wenn ich helfen konnte :o) __oT
05.03.2008 20:01:39
Matthias
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige