Tabellenblatt Passwortschützen
#1
Liebes Forum

Ich habe eine Liste, in welcher 5 Tabellenblätter enthalten sind. Nun sollte auf jedes dieser Tabellenbläter nur eine Person Zugriff haben.
Ich habe mir das so vorgestellt, dass auf dem ersten (öffentlchen) Blatt jeweils eine Schaltfläche ist mit dem Namen der Person die Zugriff haben sollte. Wenn diese Person den Schalter drückt wird ein Passowort abgefragt, und wenn dieses korrekt eingegeben wurde, wird das entsprechende Blatt angezeigt.

Hatt jemand eine Idee, wie das im VBA oder auch anders gemacht werden kann?

Vielen Dank bereits jezt für die Hilfe.

Beste Grüsse
Timon
Top
#2
Hi Timon,

unser Käpt'n hat mal so eine Datei entwickelt - warte mal, bis er wieder online ist. Vllt. kann er sie dir zur Verfügung stellen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#3
Hallo WillWissen

Vielen Dank für diene Antwort!
Ich habe mir mal selber was zusammengebastelt, jedoch funktionieren diese auf der ersten Seite nicht richtig (siehe Code unten)

Die ersten 6 Blöcke sind für den Zugriff auf die anderen Blätter. Die nächsten stehen auf den einzelnen Blättern um diese wieder zu hiden.

Jetzt bekomme ich aber immer die folgende Fehlermeldung, wenn ich eine der Schaltflächen auf der ersten Seite klicken will:

"Das Makro 'SalesFunnel_EC2_password.xlsm!Schaltfläche4_Klicken' kann nicht ausgeführt werden. Das Makro ist möglicherweise in dieser Arbeitsmappe nicht verfügbar, oder alle Makros wurden deaktiviert."

Kennt das vielleicht schon jemand von euch?

Liebe Grüsse
Timon


Code:
Sub Open_Klcken()

  Dim sPassWord As String
  sPassWord = InputBox("Paßwort eingeben:", , "")
  Select Case sPassWord
     Case "Open to everyone"
        With Worksheets("Sales Funnel")
           .Visible = True
           .Select
        End With
     Case ""
     Case Else
        Beep
        MsgBox "Password: Open to everyone"
  End Select
End Sub


Sub Fischer_Klicken()

  Dim sPassWord As String
  sPassWord = InputBox("Paßwort eingeben:", , "")
  Select Case sPassWord
     Case "Super Secret"
        With Worksheets("Sales Funnel EU - Fischer")
           .Visible = True
           .Select
        End With
     Case ""
     Case Else
        Beep
        MsgBox "You should not forget that"
  End Select
End Sub


Sub Marc_Klicken()

  Dim sPassWord As String
  sPassWord = InputBox("Paßwort eingeben:", , "")
  Select Case sPassWord
     Case "Mega Safe"
        With Worksheets("Sales Funnel EU - Marc")
           .Visible = True
           .Select
        End With
     Case ""
     Case Else
        Beep
        MsgBox "You shall not pass"
  End Select
End Sub

Sub Sales_Gates_Definitions_Klicken()

  Dim sPassWord As String
  sPassWord = InputBox("Paßwort eingeben:", , "")
  Select Case sPassWord
     Case "Hackerman"
        With Worksheets("Sales Gates Definitions")
           .Visible = True
           .Select
        End With
     Case ""
     Case Else
        Beep
        MsgBox "Access denied"
  End Select
End Sub


Sub Forecast_Timeline_Klicken()
  Dim sPassWord As String
  sPassWord = InputBox("Paßwort eingeben:", , "")
  Select Case sPassWord
     Case "Ein Satz mit x"
        With Worksheets("Forecast Timeline")
           .Visible = True
           .Select
        End With
     Case ""
     Case Else
        Beep
        MsgBox "War wohl nix!"
  End Select
End Sub


Sub Products_Portfolio_Klicken()
  Dim sPassWord As String
  sPassWord = InputBox("Paßwort eingeben:", , "")
  Select Case sPassWord
     Case "Last one"
        With Worksheets("Products Portfolio")
           .Visible = True
           .Select
        End With
     Case ""
     Case Else
        Beep
        MsgBox "Wrong Password"
  End Select
End Sub


Sub Hide_Sales_Funnel_Klicken()
Worksheets("Sales Funnel").Visible = xlVeryHidden
End Sub


Sub Hide_Fischer_Klicken()
Worksheets("Sales Funnel EU - Fischer").Visible = xlVeryHidden
End Sub


Sub Hide_Marc_Klicken()
Worksheets("Sales Funnel EU - Marc").Visible = xlVeryHidden
End Sub


Sub Hide_Definitions_Klicken()
Worksheets("Sales Gates Definitions").Visible = xlVeryHidden
End Sub


Sub Hide_Timeline_Klicken()
Worksheets("Forecast Timelines").Visible = xlVeryHidden
End Sub


Sub Hide_Products_Klicken()
Worksheets("Products Portfolio").Visible = xlVeryHidden
End Sub
Top
#4
Hallo Timon,

besonders sicher ist so etwas nicht. Für vertrauliche daten oder ähnliches ist Excel eher nicht die richtige Wahl.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#5
Hallo Klaus

Ja das ist mir bewusst. Es geht aber nicht unbedingt um die Sicherheit sondern eher darum, dass nicht alle alles direkt sehen. Die Liste wird nur teamintern verwendet also hat die Sicherheit nicht oberste Priorität sondern eher die übersichtlichketi und funktionalität. Der extra Sicherheitsfaktor, dass diejenigen welche nicht wissen wie man ins VBA kommt keinen Zugriff auf alle Blätter haben, kommt natürlich gelegen, ist aber nicht zwingend notwendig.

Besten Dank für deinen Einwand.

Liebe Grüsse
Timon
Top
#6
Hat Funktioniert

Ich habe das File hier angehängt falls jemand dieses gerne benutzen würde.

Beste Grüsse
Timon


Angehängte Dateien
.xlsm   Test_Safety.xlsm (Größe: 41,45 KB / Downloads: 4)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste