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

Ich kapiere INTERSECT nicht!

Ich kapiere INTERSECT nicht!
28.11.2004 21:09:37
Edwin
Hallo,
auf meine letzte Anfrage (hier hatte ich mich leider im Level vertan) bekam ich folgende Antwort.
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) If Intersect(Target, [F8:K46]) Is Nothing Then Exit Sub MsgBox "Test1" End Sub
Der Befehl funktioniert prima.
Der Befehl "Intersect" ist mir aber leider gänzlich unbekannt und ich finde in meinen Büchern hierzu auch keinerlei Beschreibung.
Ich würde den obigen Befehl um folgendes gerne ergänzen:
E1:E2 dann MsgBox "Test2"
F1 dann MsgBox "Test3"
Geht das?
Vielen Dank für Eure Hilfe.
Gruß
Edwin

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ich kapiere INTERSECT nicht!
Ramses
Hallo
du must nich in Büchern schauen,... die VBA-OnlineHilfe reicht auch ;-)
Suchbegriff "Intersect"
-----------------------
Intersect (Methode)
Diese Methode gibt ein Range-Objekt zurück, das die rechteckige Schnittmenge von zwei oder mehreren Bereichen darstellt.
Ausdruck.Intersect(Arg1, Arg2, ...)
Ausdruck Optional. Ein Ausdruck, der ein Application-Objekt zurückgibt.
Arg1, Arg2, ... Erforderlicher Range-Wert. Die Schnittmengenbereiche. Hier müssen mindestens zwei Range-Objekte angegeben werden.
Beispiel
Im folgenden Beispiel wird die Schnittmenge der benannten Bereiche rg1 und rg2 in Sheet1 markiert. Wenn sich die beiden Bereiche nicht überschneiden, wird eine Meldung angezeigt.
Worksheets("Sheet1").Activate
Set isect = Application.Intersect(Range("rg1"), Range("rg2"))
If isect Is Nothing Then
MsgBox "Ranges do not intersect"
Else
isect.Select
End If
----------------
Gruss Rainer
Anzeige
AW: Ich kapiere INTERSECT nicht!
28.11.2004 21:17:50
Hajo_Zi
Hallo Edwin,
hast Du schon mal in die VBA Hilfe geschaut?
Für Deine Variante mußt Du mit zwei vergleichen arbeiten.
If Not Intersect(Target, [E1:E2]) Is Nothing Then
MsgBox "Test1"
elseif Not Intersect(Target, [F1]) Is Nothing Then
MsgBox "Test2"
End If
mal ohne Testung
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


AW: Ich kapiere INTERSECT nicht!
Edwin
Hallo Ramses,
die Online-Hilfe hatte ich angeschaut, aber trotzdem nicht kapiert. Bin einfach zu sehr Laie.
Hallo Hajo,
Du hast mir, ich weiß nicht wie oft schon, mal wieder super geholfen. Oberedel!!!
Jetzt bin ich wieder einen irre Schritt weiter.
Vielen Dank!
Gruß
Edwin
Anzeige
AW: Ich kapiere INTERSECT nicht!
Jens_Pu
Hallo Edwin,
versuchs mal so:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) If Not Intersect(Target, [E1:E2]) Is Nothing Then MsgBox "Test2" If Not Intersect(Target, [F1]) Is Nothing Then MsgBox "Test3" If Intersect(Target, [F8:K46]) Is Nothing Then Exit Sub MsgBox "Test1" End Sub
Gruß Jens
AW: Ich kapiere INTERSECT nicht!
Edwin
Hallo Jens,
das funktioniert auch wunderbar.
Damit ich Intersect vielleicht noch öfter benützen kann (ich habe Arg1, Arg2, ... nicht verstanden), hier noch eine ergänzende Frage.
wenn E1:E2 und F1 dann MsgBox "Test"
wie muss dann der Befehl lauten?
Gruß
Edwin
Anzeige
AW: Ich kapiere INTERSECT nicht!
28.11.2004 22:33:36
Jens_Pu
Hallo Erwin,
vielleicht kannst Du Dir so besser vorstellen, was Intersect macht:
 
 ABCDE
1     
2     
3     
4     
5     
6     
7     
8     
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
In diesem Fall würde Intersect([B2:C5], [C5:D7]) als Ergebnis C5 liefern.
So etwas klarer?
Gruß Jens
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige