Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
808to812
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
808to812
808to812
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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
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
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige