Wie funktioniert INTERSECT?
06.07.2005 13:14:05
Ben
bin echt verzweifelt.
Nehmen wir an, in Zelle A1 in einem Tabellenblatt steht die Funktion
=7+5
Nun möchte ich verhindern, daß der Anwender die Zelle A1 selektiert. Allgemein: Keine Zelle, die eine Funktion enthält, soll selektiert werden können.
Ich mache diese mit der folgenden Prozedur im selben Arbeitsblatt:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rgForbidden As Range
Set rgForbidden = Cells.SpecialCells(xlCellTypeFormulas)
If Not Application.Intersect(Target, rgForbidden) Is Nothing Then
Application.EnableEvents = False
Range("B2").Select
Application.EnableEvents = True
End If
End Sub
Aber dies funktioniert leider nicht: Wenn ich z.B. die Zelle Z3 selektiere, springt der Cursur nach B2. Das hab' ich aber nicht programmiert.
Nun meine Probleme:
1. Warum funktionert dies nicht? Der VBA-Code ist doch korrekt!
2. Wie kann ich mit Intersect verhindern, daß Zellen mit Funktionen (egal wo) selektiert werden?
Irgendwie kapiere ich die Logik von Select nicht - aber genau die will ich verstehen.
Für Hinweise zu meinen Problemchen wäre ich Euch sehr verbunden.
Beste Grüße, Ben.