Anzeige
Archiv - Navigation
292to296
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
292to296
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Arbeitsblätter ausblenden

Arbeitsblätter ausblenden
13.08.2003 20:24:58
Dagmar
Hallo Ihr freundlichen Helfer,
ich habe eine Excel-Datei mit ca 20 Arbeitsblätter.
Diese Datei enthält diverse Personaldaten, die je nach Position des Mitarbeiters verschieden eingesehen werden soll.
Mitarbeiter - z.B. nur Arbeitsblatt Überstundenkonto
Abteilungsleiter - z.B. Arbeitsblatt Überstundenkonto, Abteilungskosten
Geschäftsführung - alles.
Eingeblendet werden sollen immer nur die "erblaubten" Arbeitsblätter.
Wie kann ich die einzelnen Arbeitsblätter ausblenden und nur über ein Kennwort entsprechend sichtbar machen?
Mit Gruß und Dank
Dagmar

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsblätter ausblenden
13.08.2003 20:35:02
Ramses
Hallo,
Grundsätzlich benötigst du auf jeden Fall ein Tabellenblatt mit der Bezeichnung "Start" auf dem gar nichts steht.
Der Name ist eigentlich egal, aber es muss immer mindestens ein Tabellenblatt angezeigt werden
Dann schreibst du folgendes in "Diese Arbeitsmappe"
Option Explicit
Const Startseite As String = "Start" 'Name des leeren Sheets

Private Sub Workbook_BeforeClose(Cancel As Boolean)
For i = 1 To Worksheets.Count
If Worksheets(i).Name <> Startseite Then
Worksheets(i).Visible = xlVeryHidden
End If
Next i
End Sub


Private Sub Workbook_Open()
Dim PW As String
Dim i As Integer
'Alle Blätter ausblenden
For i = 1 To Worksheets.Count
If Worksheets(i).Name <> Startseite Then
Worksheets(i).Visible = xlVeryHidden
End If
Next i
PW = InputBox("Bitte Passwort angeben", "Zugangskontrolle", "Passwort")
'Es wird nur das Sheet eingeblendet für den entsprechenden User
Select Case PW
Case "Passwort1"
Worksheets("Passwort1_User").Visible = True
Worksheets("Passwort1_User").Select
Case "Passwort2"
Worksheets("Passwort2_User").Visible = True
Worksheets("Passwort2_User").Select
Case "Passwort3"
Worksheets("Passwort3_User").Visible = True
Worksheets("Passwort3_User").Select
'Case usw.
End Select
End Sub

Gruss Rainer

Anzeige
Tolle Lösung
13.08.2003 22:23:13
Franz W.
Hallo Rainer,
kann man ne MEnge mitkriegen von Dir, super (und da ist auch manches dabei, was auch ich kapier... :-)). Eine Frage hätte ich aber dazu, wenn ich darf: Hat das einen taktischen Grund, warum Du den Namen des Blattes "Start" als Konstante festlegst? Oder dient das der Arbeitsvereinfachung?
Vielen Dank schon mal und Grüße
Franz

AW: Tolle Lösung
13.08.2003 22:31:25
Ramses
Hallo Franz,
Danke für das Kompliment ( jetzt bin ich nicht bloss vom Sonnenbrand rot :-)) )
Mit der Konstanten Deklaration muss ich das nur einmal deklarieren, weil das Workbook_Close Ereignis ja auf die gleiche Konstante ( Worksheets("Start") ) zugreift.
Ich könnte die Tabelle schon in jeder Sub eigens deklarieren, ... aber so ist es einfacher.
Gruss Rainer

Anzeige
Noch ne kleine Frage bitte
13.08.2003 22:54:07
Franz W.
Hallo Rainer,
eine kleine Nachfrage hätt ich noch: warum als "Const" und nicht als "Pulic"?
Grüße
Franz

AW: Noch ne kleine Frage bitte
13.08.2003 22:58:09
Ramses
Hallo,
Public wäre auch möglich. Da sich der Name aber nicht ändert verwende ich "Const".
Als Public deklarierte Variablen können, entsprechend dem jeweiligen Datentyp, jederzeit geändert werden, Konstanten nicht.
Gruss Rainer

Ganz vielen Dank !! o.t.
13.08.2003 23:00:37
Franz W.
Gern geschehen :-) o.T.
13.08.2003 23:15:44
Ramses
...

AW: Arbeitsblätter ausblenden
14.08.2003 12:51:14
Loki
Hallo Dagmar,
bitte bedenke aber - insbesondere bei so sensiblen Inhalten wie Personaldaten - auch den VBA-Code mit einem Passwort zu versehen. Sonst kommt nämlich jeder mit etwas Ahnung dennoch an die Daten.
Ausserdem kann man bei Kenntnis der Tabellennamen auch ganz leicht die Inhalte der verborgenen Tabellen auf eine zugängliche Tabelle kopieren. Einfach nur auf der zugänglichen Tabelle in Zelle A1 "=Passwort1_User!A1" reinschreiben und die Formel entsprechend kopieren... Voilá - alles frei zugänglich - ohne Passwort.
Cheers,
Loki.

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige