Entferntaste in Excel deaktivieren

  • #1
H

HelpME

Guest
Hallo,

Ich möchte verhindern, dass ein bestimmter Bereich überschrieben werden kann. Den Dateischutz kann ich nicht verwenden (Freigegebene Arbeitsmappe).

Wenn der Benutzer eine solche Zelle mit ENTF leer macht, soll eine Meldung erscheinen, die darauf hinweist und die dann den ursprünglichen Wert rekonstruiert.
 
  • #2
Den Dateischutz kann ich nicht verwenden (Freigegebene Arbeitsmappe).

Wieso das? Du kannst doch jedes beliebige Feld mit einem Schutz versehen, nicht nur das Blatt insgesamt.

Andreas
 
  • #3
Ola,

für die freigegebene Datei sind Funktionen nötig, die im geschützten Modus nicht möglich sind ...
 
  • #4
Hi zusammen,

das kann man mit folgendem Makro lösen:
Code:
Option Explicit

'Definition des zu schuetzenden Bereichs
Const c_erste_Zeile_SB As Long = 5
Const c_letzte_Zeile_SB As Long = 8
Const c_erste_Spalte_SB As Long = 3
Const c_letzte_Spalte_SB As Long = 5

'Definition der Zelle, die bei Selektion
'im Schutzbereich angesprungen werden soll
'(muß ausserhalb des geschützen Bereiches liegen !!!)
Const c_Zelle_Spalte As Long = 1
Const c_Zelle_Zeile As Long = 1

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)

Dim Zelle As Range
    
  For Each Zelle In Target
   ->Selection im überwachten Bereich ?
    If (Zelle.Column >= c_erste_Spalte_SB) And _
       (Zelle.Column <= c_letzte_Spalte_SB) And _
       (Zelle.Row >= c_erste_Zeile_SB) And _
       (Zelle.Row <= c_letzte_Zeile_SB) Then
      
      MsgBox (Sie haben den Cursor in einen geschützten Bereich gesetzt. _
              & vbLf & vbLf & Der Zugriff ist hier nicht gestattet  :-))
      
     ->Zelle ausserhalb des geschuetzten Bereichs aktivieren
      ActiveSheet.Cells(c_Zelle_Zeile, c_Zelle_Spalte).Activate
      Exit For
    End If
  Next

End Sub

Der Makro verhindert schon die Selektion von Zellen des zu schützenden Bereichs. Der Makro muß mit dem VB-Editor dem Tabellenblatt hinzugefügt werden. Dann die 6 Zeilen und Spalten-Konstanten anpassen und fertig.

Man kann auch das->Change'-Ereignis abfragen und dann ggf. mit Application.Undo die letzte Veränderung rückgängig machen. Das funktioniert, solange einzelne Zellen/Zellbereiche gelöscht werden. Löschen einer ganzen Zeile kommt beim Change-Ereignis leider nicht an, so dass es damit möglich ist auch Zellen die geschützt werden sollen zu löschen.


Gruß Matjes :)
 
  • #5
Ola und danke ;D
 
Thema:

Entferntaste in Excel deaktivieren

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben