Nur bestimmte Zellen zur Selektion frei geben

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox


Excel-Version: 7
nach unten

Betrifft: Nur bestimmte Zellen zur Selektion frei geben
von: Hannes
Geschrieben am: 03.07.2002 - 00:28:11

Hallo,
gibt es eigentlich die Möglichkeit nur bestimmte Zellbereiche (z.B. A1:B10 und C2:C6 ....) zur Selektion frei zu geben. So, dass der Cursor nur in diese Zellen positioniert werden kann. Mit Srollarea kann man wohl nur einen Bereich bestimmen, oder? Wäre eine elegante Möglichkeit bestimmte Zellen auch ohne Blattschutz zu schützen...
lg Hannes

nach oben   nach unten

Re: Nur bestimmte Zellen zur Selektion frei geben
von: L.Vira
Geschrieben am: 03.07.2002 - 01:02:00

Schütze das Blatt mit xlUnlockedCells
dann können nur ungeschützte Zellen selektiert werden.
Diese Funktion ist flüchtig, muss also immer beim Öffnen der Mappe explizit gesetzt werden.

nach oben   nach unten

Re: Nur bestimmte Zellen zur Selektion frei geben
von: Nike
Geschrieben am: 03.07.2002 - 01:11:09

Hi,
fange ggf. das Selection_Change Ereignis des Blattes ab...

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)

End Sub

Bye

Nike


nach oben   nach unten

Re: Nur bestimmte Zellen zur Selektion frei geben
von: Hannes
Geschrieben am: 03.07.2002 - 06:06:29

Hallo,
danke für die bisherigen Tipps. Das mit xlUnlockedCells ist nicht so ideal, da im Blatt bei einigen Zellen die Farben geändert werden müssen, was bei einem geschütztem Blatt dann nicht mehr gehen würde (bedingte Formatierung kann ich auch nicht verwenden, da es mehr als 3 Farben sind...)
Wie kann man bei Worksheet_SelectionChange(ByVal Target As Excel.Range) zwischen mehreren Bereichen differenzieren? Bin leider Anfänger und weiß nicht sooo gut Bescheid. Gestern habe ich zwei Stunden mit der Suchfunktion hier im Forum gesucht, aber leider nichts gefunden, was mir weiterhelfen könnte...
Bin für jede Hilfe dankbar!
Grüße,
Hannes

nach oben   nach unten

Re: Nur bestimmte Zellen zur Selektion frei geben
von: Martin Beck
Geschrieben am: 03.07.2002 - 13:17:30

Hallo Hannes,

versuch mal:


Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim Bereich As Range
Set Bereich = Union(Range("A2"), Range("B1:B10"), Range("C:E"))
If Application.Intersect(Target, Bereich) Is Nothing Then
    MsgBox "Geschützte Zelle"
    Range("A2").Select
End If
End Sub

Editierbar sind die in Union(...) angegebenen Bereiche (max. 30).

Gruß
Martin Beck

nach oben   nach unten

Re: Nur bestimmte Zellen zur Selektion frei geben
von: Hannes1
Geschrieben am: 03.07.2002 - 20:24:43

Danke für die Antworten!
Das mit Union ist schon super... das einzige kleine Problem ist, dass es nicht funktoniert, wenn ich einfach einen ganzen Bereich selektiere, dann komme ich über die "Union" Grenzen hinweg und kann etwas löschen. Leider weiß ich nicht, wie ich das verhindern könnte...
lg hannes

nach oben   nach unten

Re: Nur bestimmte Zellen zur Selektion frei geben
von: Martin Beck
Geschrieben am: 04.07.2002 - 11:19:31

Hallo Hannes,

versuch mal folgende Variante:


Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim Bereich As Range
Dim As Range
Set Bereich = Union(Range("A2"), Range("B1:B10"), Range("C:E"))
For Each c In Selection
    If Application.Intersect(c, Bereich) Is Nothing Then
        MsgBox "Geschützte Zelle"
        Range("A2").Select
        Exit Sub
    End If
Next
End Sub

Gruß
Martin Beck

nach oben   nach unten

Re: Nur bestimmte Zellen zur Selektion frei geben
von: Hannes
Geschrieben am: 04.07.2002 - 12:50:36

Super!!! Vielen, vielen Dank! So funktioniert das wirklich bestens!
Einen schönen Tag und Grüße
Hannes

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Nur bestimmte Zellen zur Selektion frei geben"