Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
768to772
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
768to772
768to772
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Frage zu Intersect

Frage zu Intersect
01.06.2006 10:44:43
Emil
Hallo,
ich habe mal eine grundsätzliche Frage zu folgender Anweisung:
If Not Intersect (...,...) Is Nothing Then
Wenn ich es richtig interpretiere, ist es das eine doppelte Verneinung und heißt damit eigentlich "ja".
Logisch wäre doch eigentlich etwas wie:
If Intersect (...,...) is True
Kann mir das jemand erklären?
Gruß Emil

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Frage zu Intersect
01.06.2006 11:03:33
Erich
Hallo Emil,
statt Intersect(...) kannst du auch eine Objektvariable nehmen.
"X Is Nothing" ist etwas ganz anderes als "X = False".
Es bedeutet, dass der Objektvariablen X kein Objekt darstellt.
X ist dann Nichts, aber nicht False.
False dagen ist etwas, nämlich ein Boolescher Wert (Wahrheitswert).
Das Gegenteil "Not X Is Nothing" bedeutet, dass X ein Objekt darstellt.
Intersect(...) gibt ein Range-Objekt zurück - oder Nichts.
Schau doch mal in der VBA-Hilfe unter den Schlüsselwörtern Is und Nothing nach.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Frage zu Intersect
01.06.2006 11:05:45
Reinhard
Hi Emil,
bei Intersect kommt nicht true oder false raus. Laut Hilfe zu Set gilt für das Ergebnis sowas wie:
Weist einer Variablen oder Eigenschaft einen Objektverweis zu.
Dies geschieht dann wenn sich zwei Bereiche überlappen, tun sie das nicht ist der Objektverweis leer und der Intersct-Ausdruck hat den Wert "Nothing"
Nachfolgende Codes sind gleichwertig in der Wirkung.
Option Explicit
Sub tt()
Dim y
Set y = Intersect(Range("A4:A7"), Range("A1:A5"))
MsgBox y.Address
Set y = Intersect(Range("B4:B7"), Range("A1:A5"))
MsgBox y.Address
End Sub
Sub tt2()
Dim y
Set y = Range("A4:A5")
MsgBox y.Address
Set y = Nothing
MsgBox y.Address
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: Frage zu Intersect
01.06.2006 11:37:18
Emil
Hallo Erich, hallo Reinhard,
vielen Dank für die Erklärungen und einen schönen Tag noch.
Gruß Emil

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige