Office: (Office 2007) einzelne Arbeitsblätter mit persönlichem Passwort versehen

Helfe beim Thema einzelne Arbeitsblätter mit persönlichem Passwort versehen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Ich suche unter EXCEL 2003 nach einem Weg, wie ich in einer freigegebenen Datei einzelne Arbeitsblätter mit unterschiedlichen Passworten versehen kann.... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von ThomasJehia, 6. Juli 2009.

  1. einzelne Arbeitsblätter mit persönlichem Passwort versehen


    Ich suche unter EXCEL 2003 nach einem Weg, wie ich in einer freigegebenen Datei einzelne Arbeitsblätter mit unterschiedlichen Passworten versehen kann. Diese sollen gewährleisten, dass nur autorisierte Nutzer auf die Inhalte des Arbeitsblattes zugreifen können. Auch soll es den jeweiligen Benutzern möglich sein, dass Passwort zu verändern, wenn Sie bereits ein gültiges Initialpasswort haben. Andere Nutzer soll es nicht erlaubt sein, die Inhalte des Arbeitsblattes einzusehen. Zusätzlich muss gewährleistet sein, dass Daten in ein anderes Arbeitsblatt, welches keinen Schutz hat, per einfacher Formel übernommen werden können.

    Bin sehr gespannt auf einen Lösungsweg!

    DANKE für eure Hilfe!!!

    :)
     
    ThomasJehia, 6. Juli 2009
    #1
  2. Moin, ThomasJehia,

    erklär bitt einmal genauer, was Du unter

    verstehst: soll die Formel jeweils auf das gültige Arbeitsblatt umgeleitet werden? Meiner Meinung nach zuviel Aufwand, um nicht zu schützende Inhalte versuchsweise zu schützen...
     
  3. es geht nur darum, dass ich aus den geschützten Tabellen Werte in einer ungeschützten Tabelle addieren möchte.
     
    ThomasJehia, 8. Juli 2009
    #3
  4. einzelne Arbeitsblätter mit persönlichem Passwort versehen

    Moin, ThomasJehia,

    Zugriffe auf Zellen (auch von geschützten Tabellen) sind meines Wissens immer möglich - meine Frage zielte darauf hin, ob die Daten von den Arbeitsblättern können, auf die der jeweilige User Zugriff hat.
     
  5. Hallo

    ja, die Daten stammen dann von den Arbeitsblättern, auf die die einzelnen User Zugriff haben.

    Ich habe inzwischen auch experimentiert und mir eine Lösung gebastelt, welche ich mal kurz beschreibe:

    Der Weg führt über das Einblenden/Ausblenden von Arbeitsblättern mit der Option: Visible: xlSheetVeryHidden (Ausblenden) bzw. xlSheetVisible (Einblenden). Die Option xlSheetVeryHidden hat den Effekt, dass so ausgeblendete Blätter auch nicht über die Menüfunktionen zum Einblenden von Tabellenblättern eingeblendet werden können, sondern nur über VBA.

    1.) Anlegen neues Arbeitsblatt ("Start") auf welchem ich je Benutzer eine Befehlsschaltfläche eingefügt habe

    2.) Anlegen neues Arbeitsblatt ("Passwort") in welchem die Passworte erfasst werden und dieses dann mit der Option Visible: xlSheetVeryHidden belegen (dies hat natürlich den Nachteil, dass derjenige, welcher das Passwort des VBAProjektes kennt, die Passworte einlesen kann!)

    3.) Je Schaltfläche dann den folgenden Code (Name = Name des Benutzers):

    Private Sub Name_Click()
    Dim Password, PasswordEingabe, Antwort

    Abfrage:
    'aktuelles Passwort ermitteln

    Worksheets("Passwort").Visible = xlSheetVisible
    Sheets("Passwort").Select
    Worksheets("Passwort").Range("B4").Activate
    'B4 ist dabei die Zelle des Arbeitsblattes "Passwort", in welchem das Passwort des betreffenden Users vorhanden ist (Muss also je User angepasst werden)
    Password = ActiveCell.Value
    Worksheets("Passwort").Visible = xlVeryHidden

    'Abfrage Password
    PasswordEingabe = InputBox("Bitte geben Sie dass Passwort ein!", "Passwortabfrage")
    If PasswordEingabe = Password Then GoTo Einblenden Else GoTo Fehler

    Einblenden:
    Worksheets("Name").Visible = xlSheetVisible
    Sheets("Name").Select
    GoTo Ende

    Fehler:
    Antwort = MsgBox("Das eingegebene Passwort ist falsch.", vbRetryCancel, "Fehler")
    If Antwort = vbRetry Then GoTo Abfrage

    Ende:
    End Sub

    4.) Damit beim Starten der datei zunächst alle betreffenden Arbeitsblätter unsichtbar sind, muss noch für die Arbeitsmappe der folgende Code erfasst werden, wobei natürlich die zutreffenden Namen der Arbeitsblätter eingegeben werden müssen:

    Private Sub Workbook_Open()

    Arbeitsblätter beim Öffnen der Datei ausblenden

    Worksheets("Passwort").Visible = xlVeryHidden
    Worksheets("Name1").Visible = xlVeryHidden
    Worksheets("Name2").Visible = xlVeryHidden
    Worksheets("Name2").Visible = xlVeryHidden
    Sheets("Start").Select

    End Sub

    5.) Damit nun aber die Benutzer Ihr Passwort selbst ändern können, habe ich noch auf jedem Arbeitsblatt, welches einem Benutzer zugeordnet ist, eine Bewehlsschaltfläche "Passwort ändern" angelegt und den folgenden Code erfasst:

    Private Sub CommandButton1_Click()
    Dim Password, PasswordEingabe1, PasswordEingabe2, Antwort, Mldg

    EingabePasswort:
    'Abfrage NEUES Password
    PasswordEingabe1 = InputBox("Bitte geben Sie dass NEUE Passwort ein!" & (Chr(13) & Chr(10)) & "BEACHTEN SIE, DASS DIESES PASSWORT DURCH HERRN JEHIA ERMITTELT WERDEN KANN!!!", "Passwortabfrage")
    If PasswordEingabe1 = "" Then GoTo Ende
    PasswordEingabe2 = InputBox("Bitte geben Sie dass NEUE Passwort erneut ein!" & (Chr(13) & Chr(10)) & "BEACHTEN SIE, DASS DIESES PASSWORT DURCH DEN ADMINISTRATOR ERMITTELT WERDEN KANN!!!", "Passwortabfrage Kontrollwert")
    If PasswordEingabe1 = PasswordEingabe2 Then GoTo PasswordAendern Else GoTo Fehler

    PasswordAendern:
    Worksheets("Passwort").Visible = xlSheetVisible
    Sheets("Passwort").Select
    Worksheets("Passwort").Range("B4").Activate
    'B4 ist dabei die Zelle des Arbeitsblattes "Passwort", in welchem das Passwort des betreffenden Users vorhanden ist (Muss also je User angepasst werden)
    ActiveCell.Value = PasswordEingabe1
    Worksheets("Passwort").Visible = xlVeryHidden
    Sheets("Name").Select
    Mldg = MsgBox("Ihr Passowrt wurde geändert.", vbOKOnly, "Bestätigung")
    GoTo Ende

    Fehler:
    Antwort = MsgBox("Das eingegebene Passwort ist falsch.", vbRetryCancel, "Fehler")
    If Antwort = vbRetry Then GoTo EingabePasswort

    Ende:
    End Sub

    6.) Nun muss natürlich noch das betreffende VBA-Projekt für Anzeigen gesperrt werden und dazu ein Passwort vergeben werden. Dazu im Projektfenster den Menüpfad Extras --> Eigenschaften von VBAProject... verwendenund im Register Schutz die entsprechenden Einträge vornehmen.

    7.) Arbeitsmappe Schützen, damit man nicht aus Versehen die Schaltflächen löscht
     
    ThomasJehia, 8. Juli 2009
    #5
  6. Ich verwende die Option xlSheetVeryHidden auch in meiner Tankbuch-Mappe, aber habe festgestellt, dass man mit einem Rechtsklick auf die Tabellenreiter und der Auswahl "Einblenden" das per VBA ausgeblendete Blatt wieder zum Vorschein bringt.

    Oder Meinst du etwas anderes?
     
    Micha_CB, 8. Juli 2009
    #6
  7. Das Einblenden kannst du für nicht autorisierte User verhindern, indem du das VBAProjekt mit Passwort schützt. Siehe dazu Punkt 6) meiner Anleitung.
     
    ThomasJehia, 9. Juli 2009
    #7
  8. einzelne Arbeitsblätter mit persönlichem Passwort versehen

    Hallo Thomas,

    für den Fall, dass du damit tatsächlich sensible Daten verwalten möchtest, die definitiv nicht in falsche Händer gehören, möchte ich auf zwei Punkte aufmerksam machen:
    1. Du hast ja schon selbst beschrieben, dass man trotz der Zugriffsbeschränkung per Formel die Daten der ausgeblendeten Tabellenblätter lesen können soll/muss. Dies kann man - wie jinx bereits gesagt hat - tatsächlich tun. Wer nicht ganz blöd ist, muss ja fast automatisch auf den Gedanken kommen, einfach in Zelle A1 eines leeren Tabellenblattes die Formel =Password!A1 zu schreiben und diese Formel nach rechts und nach unten zu ziehen. Danach sehe ich eine Kopie des ausgeblendeten Tabellenblattes vor mir (natürlich ohne Formatierungen) !
    2. Wer sich diese Mühe nicht machen möchte und schon mal den Begriff Google gehört hat, der kann auch das Blattschutzpasswort knacken und sämtliche Tabellenblätter einblenden. Der Passwortschutz des VBA-Projektes verhindert nicht, dass ich die Tabellenblätter per VBA einblende, denn ich kann selbstverständlich auch vom VBA-Projekt einer anderen Arbeitsmappe aus auf die geschützte Arbeitsmappe zugreifen.

      Gruß Ingolf
     
    IngGi, 9. Juli 2009
    #8
  9. Hallo Ingolf

    Danke für den wichtigen Hinweis.

    In meinem spezielle Fall ist die Sensibilität der Daten eher gering, so dass dies für mich unproblematisch ist. Wichtig und Richtig ist aber, dass man dies bei der Verwendung dieser oder ähnlicher "Lösungen" unbedingt beachten muss. Die Sicherheit der Daten ist hier nur oberflächlich gegeben.

    Gruß Thomas
     
    ThomasJehia, 9. Juli 2009
    #9
Thema:

einzelne Arbeitsblätter mit persönlichem Passwort versehen

Die Seite wird geladen...
  1. einzelne Arbeitsblätter mit persönlichem Passwort versehen - Similar Threads - einzelne Arbeitsblätter persönlichem

  2. Semikolon via VBA in einzelne Zellen separieren

    in Microsoft Excel Hilfe
    Semikolon via VBA in einzelne Zellen separieren: Hallo zusammen, ich benötige eure Hilfe. Ich habe eine Zelle mit mehr als 260 Informationen. Die sind durch ein Semikolon getrennt. Bis jetzt habe ich diese über die Funktion "Daten-Text in...
  3. Einzelne Formulare in ein Menüband von Outlook einbinden

    in Microsoft Outlook Hilfe
    Einzelne Formulare in ein Menüband von Outlook einbinden: Hallo Leute, ich habe in Outlook ein neues Menüband angelegt. Dann habe ich mit den Entwicklertools eine Formularvorlage erstellt. Jetzt würde ich gerne dieses einzelne Formular direkt über das...
  4. einzelne Spalten in neue Dateien kopieren

    in Microsoft Excel Hilfe
    einzelne Spalten in neue Dateien kopieren: Hallo zusammen, ich brauche ein wenig Hilfestellung: Ich habe eine Tabelle (exemplarisch) Titel A Titel B Spalte A Spalte B...
  5. Einzelnes Arbeitsblatt per Email mit Excel 2007

    in Microsoft Excel Hilfe
    Einzelnes Arbeitsblatt per Email mit Excel 2007: Dieser Code macht mich noch verrückt! :evil: Gleich vorweg, der Code an sich funktioniert :mrgreen: , ABER das Arbeitsblatt, welches ich dann durch den Code mit Excel 2007 erstelle, ist dann...
  6. Abbild einzelner Arbeitsblätter in Arbeitsblatt 1 einfügen

    in Microsoft Excel Hilfe
    Abbild einzelner Arbeitsblätter in Arbeitsblatt 1 einfügen: Hallo allerseits, ich möchte den Inhalt meiner verschiedene Arbeitsblätter der selben Arbeitsmappe auf dem ersten Arbeitsblatt darstellen. Die Darstellung sollte sich mit dem jeweiligen...
  7. Arbeitsblätter einzeln abspeichern

    in Microsoft Excel Hilfe
    Arbeitsblätter einzeln abspeichern: Hallo! ich habe ein problem: Ich habe eine große excel tabelle die ein blatt enthält welches bestimmte daten enthält.... andere blätter in der excel tabelle beziehen sich auf die inhalte des...
  8. einzelne Arbeitsblätter aus Arbeitsmappe versenden

    in Microsoft Excel Hilfe
    einzelne Arbeitsblätter aus Arbeitsmappe versenden: Hallo, wie kann ich einzelne Arbeitsblätter aus einer Arbeitsmappe per EMail versenden? Vielen Dank für eure Hilfe.
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden