Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zielbereiche definieren

Forumthread: Zielbereiche definieren

Zielbereiche definieren
07.10.2006 18:13:53
Ulf
Hallo Freaks,
folgendes Problem. Beim Öffnen eines Worbooks lege ich durch Konstanten 5 die Bereiche "Ber1" bis "Ber5" auf einem Sheet fest. Nun möchte ich überwachen, in welchem Bereich eine Zelle aktiviert wird. Je nach dem wo die aktive Zelle liegt, soll das Makro1 bis Makro5 ausgelöst werden. Hat jemand ne Idee?
Danke schon mal!
Gruß Ulf
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zielbereiche definieren
07.10.2006 19:42:43
chris
Hallo versteh dich nicht ganz aber könntest so etwas meinen.
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then makro1
If Target.Address = "$A$2" Then makro2
If Target.Address = "$A$3" Then makro3
End Sub

Sub makro1()
End Sub
Sub makro2()
End Sub
Sub makro3()
End Sub
Anzeige
AW: Zielbereiche definieren
08.10.2006 08:27:57
Ulf
Guten Morgen erstmal!!!
Danke für Eure schnelle Antwort. Hab mich wohl schlecht ausgedrückt.
Als Beispiel: Set Ber1 = Sheets("Tabelle1").Range("A1:D10")
Sobald eine Zelle in diesem Bereich aktiviert wird, soll Makro1 ausgelöst werden, usw.?
Es sind allerdings 5 verschiedene Bereiche!
Bin dankbar für jeden Vorschlag.
Gruß aus Franken von einem geknickten Ferrari-Fan!!!! :-((
Anzeige
AW: Zielbereiche definieren
08.10.2006 11:55:52
chris
Hallo, dann funktioniert das so:
Option Explicit
Dim ber1
Dim ber2
Dim isect1
Dim isect2

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set ber1 = Sheets("Tabelle1").Range("A1:D10")
Set ber2 = Sheets("Tabelle1").Range("E1:F10")
'usw...
If Not Intersect(ActiveCell, ber1) Is Nothing Then makro1
If Not Intersect(ActiveCell, ber2) Is Nothing Then makro1
'usw...
End Sub

Sub makro1()
End Sub
Sub makro2()
End Sub
Anzeige
AW: Zielbereiche definieren
08.10.2006 12:01:27
Erich
Hallo Ulf,
wenn Ber1 usw. in einem Modul so deklariert sind:

Public Ber1 As Range, Ber2 As Range, Ber3 As Range, Ber4 As Range, Ber5 As Range
'in DieseArbeitsmappe etwas steht wie:
Private Sub Workbook_Open()
With Sheets("Tabelle1")
Set Ber1 = .Range("A1:D10")
Set Ber2 = .Range("B3:E5")
Set Ber3 = .Range("E7:F9")
Set Ber4 = .Range("G2:G4")
Set Ber5 = .Range("G5:H6")
End With
End Sub
'dann kannst du im Modul der Tabelle1 so etwas schreiben:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Ber1) Is Nothing Then
MsgBox "Makro1"
ElseIf Not Intersect(Target, Ber2) Is Nothing Then
MsgBox "Makro2"
ElseIf Not Intersect(Target, Ber3) Is Nothing Then
MsgBox "Makro3"
ElseIf Not Intersect(Target, Ber4) Is Nothing Then
MsgBox "Makro4"
ElseIf Not Intersect(Target, Ber5) Is Nothing Then
MsgBox "Makro5"
End If
End Sub
Statt MsgBox "Makro1" kannst du einfach Makro1 schreiben.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zielbereiche definieren
08.10.2006 18:05:13
Ulf
Danke euch Beiden!!!
Funzt alles beides hervorragend.
Gruß aus Franken
AW: Zielbereiche definieren
07.10.2006 19:48:20
Erich
Hallo Ulf,
eine Rückfrage:
Wie sind die 5 Bereiche "festgelegt"?
1.
Ber1 kann eine Range-Variable sein, etwa belegt mit Set Ber1 = Range("A3:B4")
Dann müsste die Variable so deklariert sein, dass sie auch im Klassenmodul der Tabelle zur Verfügung steht.
2.
Ber1 kann der Name eines Bereichs sein, auf den dann mit Range("Ber1") zugegriffen werden kann.
Danach richtet sich, wie die Lösung deines Problems aussehen kann.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
;

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