Live-Forum - Die aktuellen Beiträge
Datum
Titel
04.10.2024 16:37:24
04.10.2024 15:47:10
04.10.2024 15:12:44
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender Navigationstipps
Inhaltsverzeichnis

Zwei Mal If inersect Ranges nach Worksheet change

Zwei Mal If inersect Ranges nach Worksheet change
26.02.2008 11:22:41
Andreas
Hallo Herber Fans,
ich tüftle an einem Problem mit Worksheet change.
Ich habe zwei Bereiche (Range_1 = A1:A20; Range_2 = B1:B20) auf einem Blatt. Wenn ich irgendwo Range_1 anspreche dann soll Aktion_1 ausgeführt werden, wenn ich Range_2 anspreche, soll Aktion_2 ausgeführt werden. Der Code soll immer bei dem Change Ereignis starten
Das ist mein bisheriger Code nach dem Trial and Error Verfahren:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("Bereich_1").Address Then
MsgBox "TEST_1"
End If
If Target.Address = Range("Bereich_2").Address Then
MsgBox "TEST_2"
End If
End Sub


Wie kann ich dieses an sich banale Problem lösen? Ist Target. Address der richtige Ansatz, oder doch besser intersect? (If intersect Range_1 then Aktion_1 Else If Intersect...) Das hatte ich auch schon probiert, aber es kamen Debugger Meldungen, die ich nicht lösen konnte.
Dank und Gruß, Andreas

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zwei Mal If inersect Ranges nach Worksheet change
26.02.2008 11:28:56
Renee
Hi Andreas,
Und was soll passieren, wenn beide Bereiche betroffen sind?
z.B. Zeile 2 Inhalte löschen.
GreetZ Renée

AW: Zwei Mal If inersect Ranges nach Worksheet change
26.02.2008 11:36:00
Andreas
Hi Renée,
das sollte i.d.R. nicht vorkommen. Wenn Range_1 betroffen, dann soll eine Berechnung auf einem anderen Blatt angestoßen werden.
Wenn Range_2, dann Berechnung auf dem gleichen Blatt. Range_1 und Range_2 sind mit Gültigkeiten versehen die der User wählen kann. D.h. er muß die Eingabe in einer Zelle abschließen, ehe er zur nächsten kann. Aber OK, wenn er eine Markierung auf beide Ranges setzt und löscht, wäre das ja ein Ansprechen beider Ranges. Dann soll nichts passieren.
Gute Frage!
Danke und Gruß, Andreas

Anzeige
AW: Zwei Mal If inersect Ranges nach Worksheet cha
26.02.2008 11:43:00
Lessie
ups falches Ziel :()

AW: Zwei Mal If inersect Ranges nach Worksheet change
26.02.2008 11:46:00
Renee
Hi Andreas,
Ungefähr so (z.B.):

Private Sub Worksheet_Change(ByVal Target As Range)
If (Not (Intersect(Target, Range("A1:A20")) Is Nothing) And _
Not (Intersect(Target, Range("B1:B20")) Is Nothing)) Or _
Intersect(Target, Range("A1:B20")) Is Nothing Then Exit Sub
Application.EnableEvents = False
If Not (Intersect(Target, Range("A1:A20")) Is Nothing) Then
MsgBox ("Etwas mit A1:A20")
Else
MsgBox ("Etwas mit B1:B20")
End If
Application.EnableEvents = True
End Sub


GreetZ Renée

Anzeige
AW: Zwei Mal If inersect Ranges nach Worksheet change
26.02.2008 11:52:00
Andreas
Hi Renée,
you made my day! Der Code funktioniert sehr gut! Wenn ich mir deine Zeilen ansehe, weiß ich, daß ich nicht drauf gekommen wäre. Es gibt mehr zu beachten, als ich ahnte.
Danke Dir für Deinen Einsatz. Habe noch einen schönen Tag.
Gruß aus Berlin, Andreas

290 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige