Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Target - Bereichsänderung

Betrifft: Target - Bereichsänderung von: A.Appel
Geschrieben am: 13.08.2014 14:43:58

Hallo,

ich habe folgendes Problem:

Ein Worksheet wird durch

If Not Application.Intersect(Target, Range("L:L")) Is Nothing Then

auf Änderungen überwacht.
Anschließend verwende ich die Target.Address für eine Case Select Anweisung.
Klappt soweit auch gut ABER:

Wenn der Nutzer nun in Zelle L1 eine "2" einträgt, NICHT auf Enter drückt sondern die "2" nimmt und nach unten zieht weil er auch in den nächsten 5 Zeilen die "2" benötigt läuft mir meine Überwachung auf Fehler.

Jetzt brauche ich eine Möglichkeit ihm Beizubringen, dass er in diesem Fall doch bitte die Änderung Zeile für Zeile abarbeitet. Geht das?

  

Betrifft: AW: Target - Bereichsänderung von: MatthiasG
Geschrieben am: 13.08.2014 15:02:31

Hi,

das geht so:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim z As Range, rng As Range
Set rng = Intersect(Target, Range("L:L"))
If Not rng Is Nothing Then
    For Each z In rng
        MsgBox z.Address
    Next z
End If
End Sub

Gruß Matthias


  

Betrifft: AW: Target - Bereichsänderung von: A.Appel
Geschrieben am: 13.08.2014 15:04:18

Dann muss ich praktisch nur noch meine Case-Anweisung in ein eigene Sub packen und mit dem "z" aufrufen. Klasse, doch einfacher als gedacht :)

Danke!


  

Betrifft: AW: Target - Bereichsänderung von: Daniel
Geschrieben am: 13.08.2014 15:03:31

Hi

Dim Zelle as Range
...
If Not Application.Intersect(Target, Range("L:L")) Is Nothing Then 
    for Each Zelle In Intersect(Target, Range("L:L"))
       ... im folgenden dann ZELLE anstelle TARGET verwenden

Gruß Daniel