Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA zur Aktivierung des Blattschutzes sowie Freigabe der Filterfunktion
#1
Hallo,

mit dem folgenden Script:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim xSheet As Worksheet
    Dim xPsw As String
    xPsw = "XXXYYYZZZ"
    For Each xSheet In Worksheets
        xSheet.Protect xPsw
    Next
End Sub

wird beim Schließen der Excel-Datei der Blattschutz automatisch aktiviert.

Ich möchte nun aber für User die das Passwort nicht kennen die Möglichkeit einrichten, dass diese trotzdem die Filterfunktion nutzen können.

Wie kann ich das Script entsprechend umbauen?

Danke und Grüße
David
Antworten Top
#2
Hallo David

was waere wenn ...   du für User seine versteckte Tabelle anlegst, oder in einer versteckten Tabelle ein Textfeld erstellt, das du von der Grösse her auf Null setzen kannst, und dir dort für jeden User sein eigenes Passwort notierst? Da fühlt sich jeder geschmeichelt, und per VBA kannst du das Passwort auswerten um den Blattschutz gezielt aufzuheben.  

Ist das eine brauchbare Idee für dich ... ???

mfg Gast 123
Antworten Top
#3
Hallo,

das bringt mir nicht viel. Es gibt mittlerweile ca. 2.000 Zeilen und ca. 60 User. Von diesen haben ca. 10 das Passwort, die anderen schauen die Liste nur an, sollen aber auch filtern können.

Grüße
D.
Antworten Top
#4
Hat keiner eine Idee?
Antworten Top
#5
Hallo,

das macht man aber beim Öffnen der Datei und nicht beim Schließen.

Code:
Private Sub Workbook_Open()
Dim xPsw As String, xSheet As Worksheet

xPsw = "XXXYYYZZZ"

For Each xSheet In ThisWorkbook.Worksheets
   xSheet.Protect xPsw
   xSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True
Next
   
End Sub


Gruß Werner
Antworten Top
#6
Hallo David,

ich habe mal so etwas gebaut. Das ließe sich eventuell auf Deine Wünsche zuschneiden.


Angehängte Dateien Thumbnail(s)
   
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#7
Zitat:die anderen schauen die Liste nur an, sollen aber auch filtern können.

Benütze dann:

Code:
Sub M_snb()
   workbooks.add "G:\OF\beispiel.xlsx"
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste