habe schon langen nicht mehr hier fragen müssen, bei folgender Nummer bekomme ich aber den buchstäblichen Knoten in den Kopf.
Ich habe einen Zellbereich in den Spalten E bis G.
Mein Ziel ist es, dass nur in einer der 3 Spalten des Bereiches Werte erfasst werden dürfen. Sobald Werte erfasst werden, sollen eventuelle Eintragungen in den anderen beiden Spalten gelöscht werden und die Zellen gesperrt werden. Klang eigentlich einfach...
Problem mit dem unten stehenden Code - er löscht mir Eintragungen (egal in welcher Spalte) immer sofort wieder raus. Dürfte ja aber eigentlich m.E. nicht passieren wenn ich das Ereignis immer davon abhängig mache, in welcher Spalte ich mich bewege oder?
(was Protect_on/off macht dürfte klar sein)
Danke für's drüber schauen! Ich kapier gerade nicht wo ich den falschen Haken schlage....
Private Sub Worksheet_Change(ByVal Target As Range)
Dim CellsE As Range
Dim CellsF As Range
Dim CellsG As Range
Call Protect_off
'Zellbereiche definieren
Set CellsE = Range("E77:E81")
Set CellsF = Range("F77:F81")
Set CellsG = Range("G77:G81")
'In der Ausgangslage alle 3 Spalten entsperren, damit in jeder Spalte Eintragungen
'vorgenommen werden können. Erst sobald eine Spalte bearbeitet wird, startet der Code
CellsE.Locked = False
CellsF.Locked = False
CellsG.Locked = False
'Wenn Änderungen in Spalte E:
If Not Application.Intersect(CellsE, Range(Target.Address)) _
Is Nothing Then
CellsF.ClearContents
CellsG.ClearContents
CellsF.Locked = True
CellsG.Locked = True
End If
'Wenn Änderungen in Spalte F:
If Not Application.Intersect(CellsF, Range(Target.Address)) _
Is Nothing Then
CellsE.ClearContents
CellsG.ClearContents
CellsE.Locked = True
CellsG.Locked = True
End If
'Wenn Änderungen in Spalte G:
If Not Application.Intersect(CellsG, Range(Target.Address)) _
Is Nothing Then
CellsE.ClearContents
CellsF.ClearContents
CellsE.Locked = True
CellsF.Locked = True
End If
Call Protect_on
End Sub