Private Sub Worksheet_Change( ByVal Target As Range)
Dim R&, C&, rng As Range, sumCell As Range
On Error Resume Next
With Target
R = .Row
C = .Column
Set sumCell = Cells(R, 11)
If R > 50 Or .Value = "" Then
sumCell = ""
Exit Sub
End If
Select Case C
Case Is > 8, Is < 4: Exit Sub
End Select
Set rng = Range(Cells(R, 4), Cells(R, 8))
Application.EnableEvents = False
rng.ClearContents
If .Value <> "x" Then .Value = "x"
sumCell = (8 - C)*cells(r,3)
Application.EnableEvents = True
End With
End Sub
Ja, genau so. Das Problem hier ist allerdings, dass der Code nur in Zeile 5 greift, meine Tabelle reicht aber bis zu Zeile 31. Und, wenn man das "x" einmal entfernt hat, dann läuft der Code gar nicht mehr. Da müsste ich die ganze Datei schließen und wieder erneut öffnen und das ist nicht sehr praktisch. Wie kann man denn das noch optimieren? Der Code sollte egtl immer abrufbar sein und auch in jeder Zeile funktionieren.
Danke
|