Autor
|
Thema: Wie kann ich meine Tabelle schützen ? (1029 mal gelesen)
|
01meyer Mitglied
Beiträge: 2 Registriert: 14.09.2007
|
erstellt am: 14. Sep. 2007 17:18 <-- editieren / zitieren --> Unities abgeben:
Hallo und Guten Tag zusammen, ich habe da ein Problem in meiner Tabelle (im Anhang) habe ich folgendes rein gebracht um bei A1 zu filtern Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub Selection.AutoFilter Field:=1, Criteria1:=Cells(1, 1) End Sub Klappt alles super, doch wen ich jetzt über Extras=>Schutz=> das Blatt schützen möchte bekomme einen Laufzeitfehler 1004 ??? Was mache ich jetzt ? wen mir jemand helfen könnte wär SUPER
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Oberli Mike Ehrenmitglied V.I.P. h.c. Dipl. Maschinen Ing.
Beiträge: 3728 Registriert: 29.09.2004 Excel 2010 128GB SSD Windows 7
|
erstellt am: 14. Sep. 2007 17:34 <-- editieren / zitieren --> Unities abgeben: Nur für 01meyer
Hallo meyer, Wenn ein Blatt geschützt ist, kann man auch per VBA nichts in die geschützten Bereiche schreiben etc. Diese Zeile ActiveSheet.Protect Password:="passwort", DrawingObjects:=True, Contents:=True, Scenarios:=True schützt eine Blatt mit dem Passwort "passwort". Also am Anfang deines Makros das Blatt entsichern, und am Ende wieder sichern. BTW: Damit niemand dein Passwort kennt, solltest du das Makro auch mit einem Passwort sichern. Gruss Mike
------------------
The Power Of Dreams Schreib mal wieder Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
01meyer Mitglied
Beiträge: 2 Registriert: 14.09.2007
|
erstellt am: 14. Sep. 2007 18:18 <-- editieren / zitieren --> Unities abgeben:
|
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 14. Sep. 2007 19:42 <-- editieren / zitieren --> Unities abgeben: Nur für 01meyer
ich bekomme weder, noch einen Laufzeitfehler aber versuche mal Code: ActiveSheet.Protect UserInterfaceOnly:=True
Anwenderschutz bestehen bleibt, während VBA-Prozeduren uneingeschränkten Zugriff auf die Zellen des geschützten Blatts erhalten. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Oberli Mike Ehrenmitglied V.I.P. h.c. Dipl. Maschinen Ing.
Beiträge: 3728 Registriert: 29.09.2004 Excel 2010 128GB SSD Windows 7
|
erstellt am: 14. Sep. 2007 22:12 <-- editieren / zitieren --> Unities abgeben: Nur für 01meyer
Hallo Thomas, Hast du das Sheet manuell mit oder ohne Passwort gesichert, und dann eine Zelle verändert? Sehe ich das richtig, mit deinem Befehl ist das Sheet für eine manuelle Eingabe geschützt, nicht aber der Zugriff per VBA? Gruss Mike ------------------
The Power Of Dreams Schreib mal wieder Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 14. Sep. 2007 23:04 <-- editieren / zitieren --> Unities abgeben: Nur für 01meyer
@Mike jap, du siehst das richtig ,-) das es bei mir keinen Laufzeitfehler brachte, lag daran: ich hatte vor der Eingabe in A1 schon im Code diese Zeile eingefügt und dadurch keinen Laufzeitfehler erhalten, als ich das Ausdokumentiert habe, hat XL den Code irgendwie weiter im Speicher gehalten , erst ein Schliessen der Mappe und wieder öffnen brachte den Laufzeitfehler ,) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hajo_Zi Mitglied Projektant
Beiträge: 479 Registriert: 26.03.2003
|
erstellt am: 15. Sep. 2007 10:36 <-- editieren / zitieren --> Unities abgeben: Nur für 01meyer
Hallo, mir ist jetzt nich ganz klar ob das Problem gelöst ist? Autofilterfunktion, Gruppierung bei Blattschutz möglich? Diese Frage wurde in diesem Forum auch schon gestellt. Die Lösung damals: Das funktioniert normalerweise nicht. Du kannst Excel aber austricksen. Bevor Du auf Blattschützen stellst, blendest Du die Filter ein. Dann schützt Du das Blatt Jetzt folgendes Makro in VBA unter DieseArbeitsmappe Sub Workbook_Open() Sheets("Adresse").Protect UserInterfaceOnly:=True, Password:="Passwort" Sheets("Adresse").EnableOutlining = True ' Für Gliederung Sheets("Adresse").EnableAutoFilter = True ' Für AutoFilter End Sub Gruß Hajo
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |