Tabellenblätter durch Passwort schützen

Hallo ihr Experten,

ich habe ein kleines Problem und ich würde mich freuen wenn ihr mir da helfen könntet.

Ich habe eine Arbeitsmappe „Rechnungen.xls“ in der drei Tabellenblätter sind „Rechnung“, „Sortiment“, „Debitoren“.
Jetzt wäre es echt super das wenn man auf die Register „Sortiment“ oder „Debitoren“ klickt das dann eine Passwortabfrage kommt(Aber das ich das Passwort vordefinieren kann) und erst bei der richtigen Passwort eingabe sollen sich die Tabellenblätter „öffnen“ angezeigt werden.

Der Blattschutz reicht nicht den da können die Benutzer nicht verändern aber alles sehen und das sollen sie nicht!(Es geht nicht nur um diese Datei, ich würde es gerne auch auf andere Dateien anwenden)

Gibt es dafür ein extra Tool oder geht es auch mit VBA zu machen, wenn ja kann mir jemand den Code aufschreiben!!!(Bitte!!!)

Ich hoffe ihr versteht was ich meine und könnt mir helfen!

Vielen Dank im Voraus!!

Gruß
Rudolf

Format - Blatt - ausblenden

Der Blattschutz reicht nicht den da können die Benutzer nicht
verändern aber alles sehen und das sollen sie nicht!(Es geht
nicht nur um diese Datei, ich würde es gerne auch auf andere
Dateien anwenden)

Format - Blatt - ausblenden?

Gruß
Christian

Format - Blatt - ausblenden?

Danke ist zwar nicht 100%tig was ich wollte aber es geht zur Not auch.
Danke!!!

Denn jetzt kann ja jeder Benutzer die Blätter einfügen deswegen wäre es mir sehr viel lieber wenn da noch ein Passwort wäre.(Wenn man machen kann das wenn man auf Format

Hallo Rudolf

Gibt es dafür ein extra Tool oder geht es auch mit VBA zu
machen, wenn ja kann mir jemand den Code
aufschreiben!!!(Bitte!!!)

Du kannst Blätter vor Unbefugten NUR mit einem Makro verbergen, das mit „xlVeryHidden“ versteckt ist. Oeffnen nur mit Passwort
Genügt dir das oder möchtest du einen Makroentwurf dazu? (Dauert etwas)
Erich

Es wäre echt super!!!
Hallo Erich,

es wäre echt super von dir wenn du mir ein Macro entwerfen könnstest!!!

Vielen Dank im Voraus

Gruß Rudolf

Ich habe eine Arbeitsmappe „Rechnungen.xls“ in der drei
Tabellenblätter sind „Rechnung“, „Sortiment“, „Debitoren“.
Jetzt wäre es echt super das wenn man auf die Register
„Sortiment“ oder „Debitoren“ klickt das dann eine
Passwortabfrage kommt(Aber das ich das Passwort vordefinieren
kann) und erst bei der richtigen Passwort eingabe sollen sich
die Tabellenblätter „öffnen“ angezeigt werden.

Hi Rudolf,
Alt+F11, Einfügen–>Modul, dorthinein folgenden Code, ggfs das Passwort und Blattnamen anpassen.

Option Explicit
Sub Abfrage()
Dim PW
Application.ScreenUpdating = False
Worksheets("Tabelle2").Visible = xlVeryHidden
Worksheets("Tabelle3").Visible = xlVeryHidden
PW = InputBox("Passwort")
If PW = "Geheim" Then
 Worksheets("Tabelle2").Visible = True
 Worksheets("Tabelle3").Visible = True
End If
Application.ScreenUpdating = True
End Sub

Doppelklick links auf „DieseArbeitsmappe“, dorthinein folgenden Code:

Option Explicit
Private Sub Workbook\_BeforeClose(Cancel As Boolean)
Worksheets("Tabelle2").Visible = xlVeryHidden
Worksheets("Tabelle3").Visible = xlVeryHidden
End Sub

Private Sub Workbook\_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Worksheets("Tabelle2").Visible = xlVeryHidden
Worksheets("Tabelle3").Visible = xlVeryHidden
End Sub

Private Sub Workbook\_Open()
Worksheets("Tabelle2").Visible = xlVeryHidden
Worksheets("Tabelle3").Visible = xlVeryHidden
Call Abfrage
End Sub

Editor schliessen.
Über Ansicht–>Symbolleisten–>Formular eine Schaltfläche erstellen, ihr das Makro „Abfrage“ zuweisen.

Gruß
Reinhard

Hallo Rudolf

es wäre echt super von dir wenn du mir ein Macro entwerfen
könnstest!!!

Da kann ich ja nicht widerstehen! Also:

  1. Mit Alt-F11 den Makro-Editor öffnen

  2. Rechtsklick auf „DieseArbeitsmappe“, dann „Code anzeigen“

  3. mit copy/paste diesen Code eintragen (versteckt die 2 Blätter, falls sie sichtbar sind)

    Option Explicit
    Private Sub Workbook_Open()
    Sheets(„Sortiment“).Activate
    'beim Start sicherstellen, dass 2 Blätter versteckt sind
    Sheets(„Rechnung“).Visible = xlVeryHidden
    Sheets(„Debitoren“).Visible = xlVeryHidden
    End Sub

    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Sheets(„Sortiment“).Activate
    'auch beim Schliessen sicherstellen, dass 2 Blätter versteckt sind
    Sheets(„Rechnung“).Visible = xlVeryHidden
    Sheets(„Debitoren“).Visible = xlVeryHidden
    End Sub

  4. Jetzt musst du noch dafür sorgen, dass die Makros für den „Normalbenutzer“ nicht zugänglich sind:
    im VBA-Editor: Extras/Eigenschaften/Schutz/sperren Häkchen machen und Passwort 2-Mal eingeben.

  5. Wenn das XLS das nächte Mal geöffnet wird, sind die beiden versteckten Blätter und die Makros nicht mehr sichtbar (Passwort nicht vergessen!!!)

  6. Leider ist es schwierig/fast unmöglich, den Passwortschutz mit einem Makro aufzuheben. Der „Administrator“ mit Zugang zu allen Blättern muss mit Klick auf VBA-Projekt die Passwortabfrage starten. Dann werden alle Module wieder angezeigt.

  7. Im Modul1 muss er jetzt das makro „AllesZeigen“ laufen lassen, dann kann er alle Blätter bearbeiten.

    Option Explicit
    Sub AllesZeigen()
    Sheets(„Sortiment“).Activate
    Sheets(„Rechnung“).Visible = True
    Sheets(„Debitoren“).Visible = True
    End Sub

  8. Beim Verlassen wird der Schutz automatisch wieder eingeschaltet.

Läuft bei mir mit Excel2003, ob es auch mit Versionen vor 2000 geht, weiss ich nicht.
Viel Erfolg wünscht dir
Erich

Hallo Reinhard
Damit versteckst du wohl die 2 Blätter, jedoch nicht die ganze VBA-Maschine. Also kann ich dort ein Makro hineinschreiben, das die Blätter dann doch wieder zeigt. Deshalb meine ich, man müsse auch das VBA-Projekt mit Passwort sperren. Bin ich falsch?
Erich

Danke!!!
Hi,

Viel Erfolg wünscht dir Erich

Danke hat alles Bestens geklappt!!!
Danke das du dir die Mühe gemacht hast!!!

Gruß Rudolf

Trozdem Danke!!!
Hallo Reinhard,

vielen Dank für den Code ich kann ihn zwar nicht in diesem „Projekt“ einbauen da die Schaltfläche „sichtbar“ ist aber ich habe dafür schon eine andere Verwendung.

Vielen Dank nochmal!!!

Gruß Rudolf

Damit versteckst du wohl die 2 Blätter, jedoch nicht die ganze
VBA-Maschine. Also kann ich dort ein Makro hineinschreiben,
das die Blätter dann doch wieder zeigt. Deshalb meine ich, man
müsse auch das VBA-Projekt mit Passwort sperren. Bin ich
falsch?

Hallo Erich,
nö, damit liegste richtig, hab vergessen zu erwähnen dass man auch versuchen sollte den Code zu schützen.
Zumindest vor „Normalusern“.
Gruß
Reinhard