Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1856to1860
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Tabellenblätter Passwort einblenden

VBA Tabellenblätter Passwort einblenden
23.11.2021 14:43:10
Meli
Hallo zusammen,
ich habe von VBA leider keine Ahnung, nur soviel, dass ich mich heute mal schon den ganzen Tag damit beschäftigt habe und ein bisschen Verständnis dafür aufgebaut habe. Hintergrund dafür ist, dass ich bisher eine Datei habe, in welche ich Daten eintrage, die dann wiederum in ca. 10 weiteren Dateien ausgelesen werden. Warum? Die Mitarbeiter, die die jeweils 10 anderen Dateien öffnen und bearbeiten, sollen nicht sehen, was in meiner Datei und auch in denen der anderen Mitarbeiter geschrieben steht.
Meine Idee war nun, alles in einer Datei zu verarbeiten (damit diese aufwendigen Verknüpfungen zwischen den 10 Dateien und meiner nicht mehr vorhanden sind) und die einzelnen Tabellenblätter mit Passwort vor Sicht zu schützen. Ganz grob: Mitarbeiter A öffnet Datei und muss sich mit einem Passwort "anmelden", um Tabellenblatt "Mitarbeiter A" sehen zu können. Die anderen 10 Tabellenblätter sind für ihn nicht sichtbar und auch nicht einblendbar.
Geht so etwas mit VBA? Kann ich beispielsweise Schaltflächen mit den jeweiligen Mitarbeiternamen dazu nutzen, dass sie da rauf klicken, ein Passwort eingeben und dann ihr Tabellenblatt öffnen können?
Vielen lieben Dank schonmal für's Lesen und hoffentlich Verstehen meiner Frage(n)! :-)
VG
Meli

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Tabellenblätter Passwort einblenden
23.11.2021 15:06:54
Rudi
Hallo,
das würde ich anhand des Windows-Anmeldenamens regeln.
z.B.

Private Sub Workbook_Open()
Select Case LCase(Environ("Username"))
Case "tim.muster": Sheets("muster").Visible = xlSheetVisible
Case "klaus.mueller": Sheets("Müller").Visible = xlSheetVisible
Case "sabine.test": Sheets("test").Visible = xlSheetVisible
'etc
End Select
Sheets("blanko").Visible = xlSheetHidden
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim wks As Worksheet
'alles ausblenden außer Blatt 'Blanko'
Sheets("blanko").Visible = xlSheetVisible
For Each wks In Worksheets
If wks.Name  "blanko" Then wks.Visible = xlSheetVeryHidden
Next wks
Save
End Sub
Gruß
Rudi
Anzeige
AW: VBA Tabellenblätter Passwort einblenden
23.11.2021 15:33:08
Melitta
Hallo Rudi,
vielen lieben Dank für deine schnelle Antwort und vor allem für deine Lösung. :-)
Leider habe ich - wie gesagt - noch nicht wirklich Ahnung von VBA, aber ich finde die Idee, dass das mit dem Windows-Passwort in Verbindung gebracht wird, sehr gut.
Ich weiß aber leider noch nicht so recht, wie ich deine Lösung einarbeiten soll. Wann taucht der Name des Mitarbeiters auf, damit VBA zugreifen kann und die entsprechenden Tabellenblätter sichtbar werden? Beim Öffnen der Datei? Oder soll ich auf dem ersten Tabellenblatt diese Schaltflächen bauen, auf denen jeweils die Namen der Mitarbeiter stehen?
LG
Meli
Anzeige
AW: VBA Tabellenblätter Passwort einblenden
23.11.2021 15:49:40
Rudi
Hallo,
die beiden Makros gehören unter 'DieseArbeitsmappe'.
Workbook_Open wird beim Öffnen der Mappe und Workbook_BeforeClose beim Schließen ausgeführt.
LCase(Environ("Username")) ist der Benutzername in Kleinbuchstaben. Daran wird festgemacht, welches Blatt eingeblendet werden soll.
Zusätzlich brauchst du noch ein (leeres) Blatt namens 'Blanko'. Beim Schließen werden alle Blätter außer Blanko ausgeblendet.
Schaltflächen brauchst du nicht.
Nicht vergessen, ein VBA-Passwort zu vergeben, damit nicht jeder aus dem VB-Editor heraus alles einblenden kann.
Gruß
Rudi
Anzeige
AW: VBA Tabellenblätter Passwort einblenden
25.11.2021 17:21:25
Melitta
Hallo Rudi,
ich habe jetzt mal ein bisschen rumgebastelt und bin begeistert! :-)
Es funktioniert soweit, dass immer nur ein Tabellenblatt zu sehen ist, aber offenbar immer das zuletzt angelegte. Wenn ich die Datei schließe, kommt eine Fehlermeldung: "Laufzeitfehler 1004 - Die Methode 'Visible' für das Objekt '_Worksheet' ist fehlgeschlagen. Wenn ich dann auf Debuggen gehe, markiert er mir in dem Bereich " If wks.Name "blanko" Then wks.Visible = xlSheetVeryHidden " alles hinter Then gelb.
LG
Meli
AW: VBA Tabellenblätter Passwort einblenden
28.11.2021 06:21:06
Oberschlumpf
Hi Meli(tta),
zeig doch mal per Upload das was du bisher als Bsp-Datei + Code hast.
Ciao
Thorsten
Anzeige
AW: VBA Tabellenblätter Passwort einblenden
29.11.2021 12:37:22
Oberschlumpf
Hi Melitta,
ich heiße THORSTEN, nich Rudi! ^^ :-)
Hier meine Datei für dich:
https://www.herber.de/bbs/user/149457.xlsm
Im Code hab ich viele Kommentare hinterlassen.
Konnte ich helfen?
Ciao
Thorsten

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige