2016-08-01 22 views
0

Ich habe eine Excel-Arbeitsmappe mit mehreren Blättern. Gibt es eine Möglichkeit, Benutzer durch ein Kennwort davor zu schützen, sogar ein Blatt in der Arbeitsmappe zu öffnen? Das Blatt hat eine große Grafik, die ich nicht alle sehen, geschweige denn bearbeiten lassen sollte.Schützen Sie ein Blatt vor dem Öffnen in einer Arbeitsmappe

Vielen Dank im Voraus für Ihre Hilfe verwenden

EDIT

ich den folgenden Code Benutzer zu ermöglichen, eine Formcontrol Schaltfläche klicken, um das Blatt in Frage zuzugreifen.

Dies ist mit meiner Schaltfläche auf einer Art "Homepage" Blatt, die ich der Arbeitsmappe hinzugefügt.

Aber ich kann nicht das Blatt bleiben ausgeblendet, wenn Sie die Arbeitsmappe erneut öffnen. Ich habe diesen Code versucht:

Private Sub Workbook_BeforeClose(Cancel As Boolean) 
ThisWorkbook.Worksheets("Training Heat Map").Visible = xlSheetVeryHidden 
End Sub 

Irgendwelche Ideen? Dieser Code wird auf dem Modul für das Blatt unter allgemeinen Deklarationen eingegeben

+0

Meinst du, du willst, dass einige Leute das Arbeitsblatt sehen und einige Leute es nicht sehen, oder niemand es sehen kann? Wenn Sie wollen, dass niemand es überhaupt sieht, ist es vielleicht besser, das Blatt nur sehr versteckt zu machen, Sie können VBA-Code hinzufügen, der Sheets ("SheetName") sagt Visible = xlVeryHidden – Clusks

+0

@clusks Nein, ich brauche Leute in der Lage sein, es zu sehen:/ – SRag

+0

Als OT: Excel ist keine brauchbare Software für die Sicherheit, wenn der Benutzer nicht berechtigt sein sollte, diese Daten ohne eine ordnungsgemäße Anmeldung zu sehen, sollte eine Software-Lösung für diesen Zweck erstellt werden - und in diesem eine Exportoption zu xls oder so ähnlich-; Excel-Sheets/VBA-Code-Schutz kann innerhalb von Sekunden gebrochen werden. – Sgdva

Antwort

0

Über this answer, ich denke, das könnte den Trick für Sie tun. Innerhalb von VBA, setzen Sie dies innerhalb von ThisWorkbook:

Offensichtlich erfordert ein wenig Anpassung an Ihre Bedürfnisse. Denken Sie daran, dass Sie auch Ihren VBA-Code mit einem Passwort schützen müssen. Anderenfalls können Sie ihn einsehen und das Passwort herausfinden.

+0

Funktioniert nicht für mich. Btw: Sie können 'Sh' anstelle von' ActiveSheet' verwenden. –

+0

Was ich bisher noch nicht geklärt habe: Das Problem ist, dass das 'Workbook_SheetActivate'-Ereignis ausgelöst wird, nachdem das Blatt aktiviert wurde. So können Sie alle Daten sehen und dann zur Eingabe des Passworts auffordern. Außerdem: Der Code funktionierte (wie in ran), nachdem ich die Zeile der Variablendeklaration gelöscht hatte. Ich habe keine Ahnung, warum das so ist. –

+0

Hey @clusks Ich habe diesen Code ausprobiert und es funktionierte nicht für mich, aber ich versuche eine andere Lösung basierend auf dem von Ihnen bereitgestellten Link. Ich werde ein Hauptblatt mit Formularsteuerknöpfen haben, die ein Eingabefeld (wo Sie das Passwort eingeben) eingeben, um das Blatt anzuzeigen. Allerdings kann ich den Code nicht richtig machen, um das Blatt 'xlveryhidden' bei jedem Öffnen des Dokuments beizubehalten. Kannst du auf die Änderungen in der ursprünglichen Frage verweisen und mich wissen lassen, was ich falsch gemacht habe? – SRag