Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
760to764
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
760to764
760to764
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Worksheet_Change

Worksheet_Change
14.05.2006 11:20:47
Korl
Hallo,
ich habe mir aus dem Archiv folgenden Code herausgesucht und den zu überwachenden Bereich angepasst.
Nun möchte ich erreichen,dass, wenn in dem Bereich ein Wert gelöscht wird, ebenfals in den zwei Nachbarzelle die Werte gelöscht werden.
Also wird in "B20" gelöscht soll automatisch "C20:D20" gelöscht werden.
Private Sub Worksheet_Change(ByVal Target As Range)
'Überwachung eines Bereiches "B15:B35"
If Not Intersect(Target, Range("B15:B35")) Is Nothing Then
'MsgBox "Zelle " & Target.Address(0, 0) & " wurde geändert!"
End If
End Sub
Kann mir jemand helfen?
Gruß Korl

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheet_Change
14.05.2006 11:41:05
Matthias
Hallo Korl,

Private Sub Worksheet_Change(ByVal Target As Range)
'Überwachung eines Bereiches "B15:B35"
Dim z As Range, rng As Range
If Target(1).Value <> "" Then Exit Sub ' Abbruch, wenn Wert eingetragen wurde
Set rng = Intersect(Target, Range("B15:B35"))
If Not rng Is Nothing Then
For Each z In rng
z.Offset(0, -1).ClearContents
z.Offset(0, 1).ClearContents
Next z
End If
End Sub

Gruß Matthias
AW: Worksheet_Change
14.05.2006 12:01:50
Korl
Hallo Matthias,
ich Danke Dir für die Mühe.
Deinen Code mußte ich zwar noch anpassen, bezüglich der Nachbarzellen, da Du mir links und rechts von der activen zelle die Werte gelöscht hast.
Jetzt läuft es aber genau so wie ich es mir vorgestellt habe.
Matthias ich wünsche Dir einen schönen Sonntag.
Gruß Korl
Anzeige
AW: Worksheet_Change
14.05.2006 11:53:33
Korl
Hallo,
habe mir doch noch eine Lösung basteln können die auch funktioniert.
Private Sub Worksheet_Change(ByVal Target As Range)
'Überwachung eines Bereiches "B15:B35"
If Not Intersect(Target, Range("B15:B35")) Is Nothing Then
ActiveCell.Offset(0, 1).ClearContents
ActiveCell.Offset(0, 2).ClearContents
End If
End Sub
In meinen Code lösche ich die Nachbarzellen einzeln mit jeweils einer Zeile.
Lässt es sich in einer Zeile zusammen fassen?
Gruß Korl
Anzeige
AW: Worksheet_Change
14.05.2006 12:04:11
Matthias
Hallo Korl,
dein Code klappt nicht ganz:
  • Wenn ein Bereich markiert ist (z.B. B16:B21), löscht er nur die Nachbarzellen der aktiven Zelle
  • er löscht auch, wenn in die Zelle etwas eingetragen wird, nicht nur, wenn der Inhalt gelöscht wird.
    
    Private Sub Worksheet_Change(ByVal Target As Range)
    'Überwachung eines Bereiches "B15:B35"
    Dim z As Range, rng As Range
    If Target(1).Value <> "" Then Exit Sub ' Abbruch, wenn Wert eingetragen wurde
    Set rng = Intersect(Target, Range("B15:B35"))
    If Not rng Is Nothing Then
    For Each z In rng
    Range(z.Offset(0, 1), z.Offset(0, 2)).ClearContents
    Next z
    End If
    End Sub
    

    Gruß Matthias
  • Anzeige
    AW: Worksheet_Change
    14.05.2006 16:26:42
    Korl
    Hallo Matthias,
    Danke nochmal für Deine Richtigstellung, hat mir sehr geholfen.
    Gruß Korl

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige