Excel VBA: Worksheet_change über zwei Spalten?

Excelmania

Lieutenant
Registriert
Apr. 2010
Beiträge
794
Guten Morgen.

ich möchte gerne über die Worksheet_change_Prozedur einstellen, dass wenn in der Spalte B ein Wert ausgewählt wird, der Wert der in Spalte F steht gelöscht wird. Leider klappt es nicht.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target.Rows, Range("B")) Is Nothing Then
      If Range("B" & Target.Rows) <> "" Then
        Application.EnableEvents = False
            .Range("F" & Target.Rows).ClearContents
        Application.EnableEvents = True
        Exit Sub
      End If
    End If
  End With
End Sub

Hat jemand eine Idee?

Vielen Dank
 
Moin!
Ooops! Viel stimmt ja nicht bei Dir, gelinde gesagt. ;)
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
  If .Column = 2 And .CountLarge = 1 Then
    If .Value <> "" Then .Offset(, 4).ClearContents
  End If
End With
End Sub
 
Moin.
Mach mal aus B => B:B
Du hast ein End With aber kein With Start
Rows zählt wie von RPP63 beschrieben die Zeilen, gibt aber nicht die aktuelle zurück.
Exit Sub ist unnötig, da danach eh nichts weiteres kommt, was ausgeführt werden könnte.
Hier mal dein Code angepasst.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B:B")) Is Nothing Then
      If Range("B" & Target.Row) <> "" Then
        Application.EnableEvents = False
            Range("F" & Target.Row).ClearContents
        Application.EnableEvents = True
      End If
    End If
End Sub
 
Zuletzt bearbeitet:
Target.Rows zählt die Zeilen der Auswahl.
Wie gesagt, im Code der Threaderöffnung stimmt fast nichts …
 
Zurück
Oben