Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1452to1456
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( range(xx), Target) in einem Modul

Intersect( range(xx), Target) in einem Modul
26.10.2015 21:23:51
Arthur
Hallo Excelfans.
Ihr könnt mir sicher helfen. In einem Tabellenblatt möchte ich auf SelectionChange reagieren und eine Routine in einem Modul aufrufen, das u.A. die ausgewählte Zelle vergleicht. Leider kommt die Meldung: "Die Methode 'Range' für das Objekt '_Global' ist fehlgeschlagen". Warum?/ Wie geht's?
Im Tabellenblatt:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call ISectTest(Target)
End Sub
In einem Modul:
Sub ISectTest(ByRef Target As Range)
If Not (Intersect(Range("myrange"), Target) Is Nothing) Then
Debug.Print "ok"
Else
Debug.Print "nok"
End If
End Sub Wo liegt mein Denkfehler?
Gruß, Arthur.

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

Betreff
Datum
Anwender
Anzeige
AW: Intersect( range(xx), Target) in einem Modul
26.10.2015 21:39:19
Gerd
Hallo Arthur,
du hast dem Namen "myrange" keinen Bereich im Tabellenblatt mit der SelectionChange-Prozedur zugewiesen.
Ferner empfehle ich (nur), die übernommenen Range-Variable im Makro des allgemeinen Moduls nicht "Target" sondern anderst, ggf. "rngTarget" zu benennen.
Gruß Gerd

AW: Intersect( range(xx), Target) in einem Modul
26.10.2015 21:51:45
Arthur
Hallo Gerd.
Danke für die Antwort. Leider ist das nicht die Lösung. "myRange" existiert, der Debug in der Überwachung bestätigt dies. Target 'ordentlicher' zu benennen ist sicher ein guter Tipp, dennoch hilft auch das nicht. Der Bereich von Target bleibt ja gleich.
Die Frage bleibt. Was tun?
Gruß, Arthur.

Anzeige
AW: Intersect( range(xx), Target) in einem Modul
26.10.2015 22:15:27
Luschi
Hallo Arthur,
man muß noch zusätzlich prüfen ob 'rngTarget' und Range("myRange") in der gleichen
Tabelle liegen, sonst streikt 'Intersect':

Sub ISectTest(ByRef rngTarget As Range)
If Range("myRange").Parent.Name = rngTarget.Parent.Name Then
If Not (Intersect(Range("myRange"), rngTarget) Is Nothing) Then
Debug.Print "ok"
Else
Debug.Print "nicht ok"
End If
Else
Debug.Print "nicht ok!!!"
End If
End Sub
Gruß von Luschi
aus klein-Paris

AW: Intersect( range(xx), Target) in einem Modul
26.10.2015 22:18:13
Arthur
Hallo Gerd.
Danke für's mithelfen. Das Problem ist wohl einfach. Die Bereiche sind auf unterschiedlichen Blättern. Weil's im Original in einer Schleife über mehrere Blätter läuft und ich davon ausgegangen war, dass Intersect in so einem Fall zu 'Nothing' führt, wurde ich in die Irre geleitet ... Sorry.
Gruß, Arthur

Anzeige
AW: Intersect( range(xx), Target) in einem Modul
26.10.2015 22:11:55
Gerd
Hallo Arthur,
dann lade doch bitte deine Beispieldatei, in der dieser Fehler auftritt, hoch.
Gruß Gerd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige