Passwort

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Passwort
von: NoPa
Geschrieben am: 22.07.2015 14:07:00

Hallo,
Wie kann ich den Zugriff auf ein bestimmtes Tabellenblatt in Excel mit Hilfe von einem Benutzername und Passwort verhindern?
Geht das via VBA oder auch anderweitig?
Danke
Gruß
Norbert

Bild

Betrifft: AW: Passwort
von: UweD
Geschrieben am: 22.07.2015 16:07:13
Hallo
ganz verhindern kannst du das nicht.
Aber z.B.
1)
- Das Blatt schützen, dabei die standard markieten Häkchen noch rausnehmen.
- Die Scollarea über die Sheet Eigenschaften auf $A$1 begrenzen (dann kann man auch nicht mehr im Blatt scrollen)
2)
- Das Blatt komplett ausblenden (Visble=XlSheetVeryHidden setzen / geht nur per VBA)
x)...
- und das Makro mit passwort absichern
- in einem zusätzlichen ENTSPERREN Makro (Benuzer und Passwort Abfrage)kannst du das dann wieder aufheben
Gruß UweD

Bild

Betrifft: AW: Passwort
von: NoPa
Geschrieben am: 23.07.2015 13:35:01
Hallo,
Blatt schützen kann ich leider nicht, weil da ein Makro dahinter steckt und dies ja dann auch nicht funktioniert.
Kann man nicht ein Code schreiben:
beim clicken auf dieses Blatt soll ein Fenster aufklappen, und Benutzername mit Passwort eingegeben werden!? dann erst soll sich das Blatt öffnen lassen!?
Norbert

Bild

Betrifft: AW: Passwort
von: UweD
Geschrieben am: 23.07.2015 14:39:48
Hallo
Beispiel für Tabelle1
- Beim aktivieren des Blattes wird Benutzer und Passwort abgefragt (hier im Beispiel Max und Geheim)
- wenn Beides stimmt, wird der Blattschutz aufgehoben, sonst nicht
- Beim Verlassen des Blattes wird der Schutz wieder gesetzt.



Code der Userform:
Private Sub UserForm_Activate()
    'Vorbelegung mit Anmeldename, kann auch weg
    TextBox1 = Environ("Username")
End Sub
Private Sub CommandButton1_Click() 'OK
    If TextBox1 = "Max" And TextBox2 = "Geheim" Then
        Unload UserForm1
        MsgBox "Hallo " & TextBox1 & vbLf & "Du hast Zugriff auf das Blatt."
        'hier jetzt das Blatt entsperren
        ActiveSheet.Unprotect Password:="ABC"
    Else
        With ActiveSheet
            .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="ABC"
            .EnableSelection = xlNoSelection
        End With
        Unload UserForm1
        MsgBox "Benutzer oder Passwort falsch"
    End If
End Sub
Private Sub CommandButton2_Click() 'Abbrechen
    Unload UserForm1
End Sub

Code des Tabellenblattes:
Private Sub Worksheet_Activate()
    UserForm1.Show
End Sub
Private Sub Worksheet_Deactivate()
    Me.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="ABC"
    Me.EnableSelection = xlNoSelection
End Sub
https://www.herber.de/bbs/user/99038.xlsm
Gruß UweD

Bild

Betrifft: AW: Passwort
von: NoPa
Geschrieben am: 24.07.2015 11:09:55
Hallo,
danke genau so was habe ich mir vorgestellt.
Habe leider nur paar Probleme:
-beim Aktivieren (drauf cklicken) vom Blatt kommt das UserForm1 nicht zum Vorschein
-Nach dem Verlassen wir das Blatt nicht wieder geschützt
-nach dem mir die MsgBox sagt dass ich Zugriff habe, kommt die Meldung "nicht genug Speicher" ???
Sind da noch andere Einstellungen zu treffen....???
Danke
Norbert

Bild

Betrifft: AW: Passwort
von: UweD
Geschrieben am: 24.07.2015 13:43:24
Hallo
1) -beim Aktivieren (drauf cklicken) vom Blatt kommt das UserForm1 nicht zum Vorschein
Aktivieren eines Blattes: du bist auf Tabelle2 und und wechselst auf Tabelle1, indem du auf den Tabellenblattreiter tippst. Jetzt läuft das ActivateEvent ab die Userform1 wird angezeigt..
2) -Nach dem Verlassen wir das Blatt nicht wieder geschützt
Deaktivieren eines Blattes, analog dazu..
3) -nach dem mir die MsgBox sagt dass ich Zugriff habe, kommt die Meldung "nicht genug Speicher" ???
Dazu kann ich nichts sagen...
Wenn du die Mappe, die dir hochgeladen habe, ohne Änderung so benutzt, klappt das dann oder nicht?
Hast du den Code in eine Eigene Mappe kopiert?
Der Code muss, wie geschrieben, in den richtigen Codebereichen stehen...
Userbild



Zu 1 und 2 evtl.noch was.
Hast du andere Makros laufen lassen, die evtl. die Events dabei ausgeschaltet?
lasse das mal laufen
Sub onon()
    Application.EnableEvents = True
End Sub
Gruß UweD
Bin jetzt offline

Bild

Betrifft: AW: Passwort
von: NoPa
Geschrieben am: 27.07.2015 08:48:33
Hi,
habe folgendes raus gefunden:
wenn ich deine Tabelle "jungfreulich" öffne funktioniert es, wenn ich aber noch eine andere Excelmappe öffne oder offen habe, erscheint mir das Userform beim aktivieren der Mappe nicht mehr!
Selbst wenn ich die andere wieder schließe, funktioniert es nicht mehr.....???
Ich habe es auch versucht in eine andere Tabelle zu kopieren wo ich das Ganze gebrauchen kann, da haut es aber gar nicht hin...
Hat es was mit der Reihenfolge der Prozedur zu tun!?

Sub onon()
    Application.EnableEvents = True
End Sub
dies hat auch nichts gebracht
Gruß
Norbert

Bild

Betrifft: AW: Passwort
von: NoPa
Geschrieben am: 27.07.2015 13:04:36
Hi,
jetzt gehts. Habe den 'Private StatusCalc As Long' raus genommen.
Gruß
Norbert

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Passwort"