[Excel] Einzelne Tabellen sperren

josef24

Erfahrenes Mitglied
Guten Tag in die Runde. Habe eine Tabelle erstellt wo ich mittels USERFORM die Tabelle1 befülle. Alle Tabellen sind zur Zeit offen, und jeder kann auch neben der USERFORM folglich Daten in Tabelle1 verändern. Dabei wird immer wieder vergessen, das Datenfelder auch gewisse "Eigenschaften" haben. Damit unberechtigtes ändern nicht mehr vorkommen soll, möchte ich die Tabelle1 für den Zugriff anderer sperren. Es soll denen jedoch möglich sein über die USER Funktion Änderungen ein zu bringen.
Frage hierzu: Welche Funktionen muss ich einrichten damit, andere eine Veränderung vornehmen, aber nicht in einzelne Tabellen direkt schreiben können? Kann mir hier jemand weiter helfen. Danke im voraus und Gruß Josef
 
Danke erst mal. Kann man auch mit dem Code z. B. eine bestimmte Tabelle ansteuern?
Zitat aus der weiterhin empfohlenen Seite.
schütze deine Blätter mit dem Protect-Parameter userinterfaceonly:=true
Dann kannst du aus VBA heraus alles mögliche in geschützte Zellen schreiben.

oder
Mir schwebt bei dem Code etwas vor wie : With Worksheets("Tabell1")
Danke und Gruß Josef
Code:
Sub tt()
   With ActiveSheet
      .Unprotect "passwort"
      .Protect Password:="passwort", userinterfaceonly:=True
   End With
End Sub
 
Zuletzt bearbeitet:
Ja, geht, und dein Ansatz ist der richtige.
Bin eh kein Freund von diesem ActiveIrgendwas

Dir muss aber klar sein: Sobald der User seine UserForm ausgefüllt hat, und z.B. Auf OK clickt, muss die Zeile bevor du ins Tabellenblatt schreibst, der "Unprotect"-Aufruf sein.
 
Danke dir für den Hinweis. Habe deinen Vorschlag mal direkt in der Tabelle1 unter Code einfügen installiert. Dann habe ich das einmal laufen lassen, und das Ergebnis ist: Das Tabellenblatt ist nicht gesperrt. Hatte ich vielleicht etwas nicht berücksichtigt. Gruß Josef
 
Zuletzt bearbeitet:
Kannst du mal dein Workbook hier reinhängen?
Wird aber erst morgen nachmittag dass ich dran kann (hab Kundendienst morgen)

EDIT: Hab dir mal ein extrem simples Beispiel gebaut
 

Anhänge

  • Mappe1.zip
    12,8 KB · Aufrufe: 5
Zuletzt bearbeitet:
Danke, zu sperrende Tabelle wäre die "ArbDat" wo die "Stammdaten enthalten sind. Gruß Josef
 

Anhänge

  • Test Sperrkode für Mitgld.zip
    331,4 KB · Aufrufe: 5
Nach längerem suchen etwas effektives gefunden. Aber was ich nicht verstehe ist, die ersten 5 Zeilen blockiert dieser Kode, und danach ist alles möglich (Änderungen im Datenfeld) . Hat hierfür jemand eine Erklärung und könnte mir weiterhelfen. Danke und Gruß Josef
Code:
Option Explicit

Sub Schutz()
   ActiveSheet.Protect Password:="123", UserInterfaceOnly:=True
End Sub

Sub Test()
   Dim Merker
   Merker = ActiveCell
   ActiveCell = "bla"
   MsgBox "Zelle verändert trotz Schutz"
   ActiveCell = Merker
End Sub
 
Hallo Josef,

ohne jetzt in deine Tabelle schauen zu können:
Schau in mein Beispiel:
Die wichtige Zeile steht in "Workbook_open"!!!
in Command1_click steht "unprotect", dann wird der Inhalt der Textbox nach A1 geschrieben, nächste Zeile wieder "Protect".
Mach die Userform zu (Bsp. rechts oben auf das "x" clicken), und du kannst nicht in die Tabelle direkt schreiben, weil noch immer der "Protect" besteht.
 
Entschuldigung, aber deinen Vorschlag will ich nicht umsetzen, weil er nicht das tut was ich eigentlich wollte.
Mein Wunsch ist es eine komplettes Tabellenblatt für den Zugriff anderer zu blockieren, und das macht dein Codevorschlag nicht, Sorry. Gruß Josef
 
Zurück