Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1264to1268
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Intersect bei unzusammenhängendem Bereich

Intersect bei unzusammenhängendem Bereich
Jörg-HH
Hallo zusammen
ein Verständnisproblem - es geht um J9 im mittleren Teil des Codauszugs:
....
ElseIf .Name & "!" & target.Address = wsConfig.Range("T4").Value Then 'wenn Button "Anzahl Objekte" eingestellt wird...
Call AnzahlObjekte(target, wsConfig, wstarget)
ElseIf Intersect(target, Range((wsConfig.Range("J9").Value))) Then
MsgBox (wstarget.Range("sprZeileAusfuellen").Value)
ElseIf Intersect(target, Range((wsConfig.Range("AT19").Value))) Is Nothing Then 'das sind die 3 Umschl-Auswahlmenüs
GoTo UmschlUeberspringen
usw...
J9 repräsentiert einen Bereich aus drei nicht-zusammenhängenden Zellen:
=ADRESSE(ZEILE(Formular!C16);SPALTE(Formular!C16);;1;"Formular")&","&
ADRESSE(ZEILE(Formular!C21);SPALTE(Formular!C21);;1;"Formular")&","&
ADRESSE(ZEILE(Formular!C26);SPALTE(Formular!C26);;1;"Formular")
Gebe ich in eine der drei Zellen C16, C21, C26 was ein, erscheint erwartungsgemäß die MsgBox. Gebe ich in eine andere Zelle was ein, wird nicht - wie ich dachte - ohne MsgBox zum nächsten ElseIf gesprungen, sondern es erscheint der Fehler "Objekt- oder Blockvariable nicht festgelegt"
Kann mir jemand sagen, warum das so ist und wie man das abstellen kann?
Grüße - Jörg

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

Betreff
Benutzer
Anzeige
AW: Intersect bei unzusammenhängendem Bereich
21.05.2012 11:39:58
guentherh
Hallo Jörg,
vermute, dass in J9 zu diesem Zeitpunkt keine gültige Adresse steht, die von
Range((wsConfig.Range("AT19").Value))
ausgewertet werden könnte.
Vorschlag: hier für diese Konstellation auch auf T4 zurückgreifen.
Dass der Intesect dann falsch liefert ist zu diesem Zeitpunkt schon bekannt, also muss das nächste elseif drankommen.
Gruß,
Günther
AW: Intersect bei unzusammenhängendem Bereich
21.05.2012 11:50:51
Jörg-HH
Hi Günther
diese versteh ich nicht: " hier für diese Konstellation auch auf T4 zurückgreifen"
Jörg
AW: Intersect bei unzusammenhängendem Bereich
21.05.2012 12:04:22
EtoPHG
Hallo Jörg,
Target ist ein Zellenbereich
Range((wsConfig.Range("J9").Value kann aber kein Bereich sein! Ob in J9 eine Adresse drinsteht oder nicht, Tatsache ist, dass der zweite Ausdruck nur einen Wert und kein Range-Objekt (im gleichen Blatt wie Target!) zurückliefern wird. Folglich geht der Intersect in die Binsen... ;-)
Gruess Hansueli
Anzeige
alles klar - danke! oT
21.05.2012 12:13:43
Jörg-HH
AW: Intersect bei unzusammenhängendem Bereich
21.05.2012 13:16:32
guentherh
Hallo Jörg,
leider bin ich beim Zitat verrutscht- ich wollte statt ...AT19... ...J9... zitieren
wenn ich Deinen Code richtig verstanden habe, steht in J9 die Adresse einer Mehrfachselektion, die sich aus den Adressen in den Feldern C16, C21 und C26 zusammensetzt.
Da Range() einen gültigen Bezug als Argument erwartet musst Du sicherstellen, dass in J9 jederzeit ein gültige Bezug findet. ",,," ist das nicht, und müsste zu beschriebener Fehlermeldung führen.
Im vorangegangenem Codesegment prüfst Du schon einmal auf den Inhalt von T4.
wenn also der Fall eintritt, dass in keinem der drei Felder was vernünftiges steht, (wenn(C16 & C21& C26"="")) kannst Du T4 verwenden;
denn wenn T4 geändert wurde kam das Programm nicht bis hierhin, und wenn es hierhin kommt, und du nicht in den andereren drei Feldern geändert hast, soll es den Then-teil nicht ausführen.
Dan bekommst du mit Verweis auf T4 einen Gültigen Bezug, der zum Weiterlaufenn des Programms führt.
=Wenn(C16 & C21& C26"="";C4; hier bisherige Formel )
als Eintrag in J9 sollte dein Problem lösen.
BTW: Range((wsConfig.Range("J9").Value)) liefert selbstverständlich einen Bereich zurück der mit Target durch den intersect-Befehl verglichen werden kann. Dass es Fälle gibt, in denen Dein Programm durchläuft, zeigt das unbestreitbar.
Nur muss halt in J9 dann unbedingt ein text stehen, der einen gültigen Bezug darstellt.
Gruß,
Günther
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige