Tabellen Blättern schutz Akteviren - Deaktevieren

valeripf

Erfahrenes Mitglied
Hi Kann Mir Helfen

Ich Habe eine mit VBA Tabellen Blättern Schutz eingebaut um verhindern um Tabellen zu Blättern
Die Akteviert Sich bei Excel Start und kann mir Button/UserForm/Passwort wieder Deaktevieren

Frage
1)Wie kann ich mit ein Button wieder Aktevieren
2)wenn mann Tabelle nicht Benutzt *nach 60sek Passwort Aktevieren und zurück zum Tabelle1*

Code
PHP:
WorkBook

Private Sub Workbook_Open()
    ThisWorkbook.IsAddin = False
    Sheets(1).Activate
End Sub

Tabelle2 und 3

Option Explicit
Private Sub Worksheet_Activate()
    If Not legitimiert Then
        Sheets(1).Activate
        Passwort.Show
        If legitimiert Then Sheets(2).Activate
    End If
End Sub

UserForm

Option Explicit
Private Sub SchließButton_Click()
    Unload Me
End Sub

Private Sub OKButton_Click()
    If TextBox1 <> "0" Then MsgBox "Falsches Kennwort, kein Zugriff.", 48, "Hinweis" Else legitimiert = True
    Unload Me
End Sub

Modul
Option Explicit
Public legitimiert As Boolean

Danke
 
Hier mal ein Beispiel wie du Punkt 2 lösen könntest:

Visual Basic:
'In der Variablen intervall wird gespeichert nach welcher Zeitspanne die Tabelle gewechselt wird,
'im Beispiel sind es 5 Sekunden
Dim intervall

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If intervall <> "" Then
    'Vorhandenen Intervall zuerst löschen wenn Taste gedrückt wurde bzw. die Tabelle geändert wurde
    Application.OnTime intervall, "change_sheet", , False
    'und Zeitspanne neue setzen
    intervall = Now + TimeValue("00:00:05")
Else
    'Zeitspanne zum ersten Mal setzen
    intervall = Now + TimeValue("00:00:05")
End If

'Neuen Intervall erzeugen
Application.OnTime intervall, "change_sheet"

End Sub

Mit Application.OnTime wird nach der vorgegebenen Zeitspanne die Funktion "change_sheet" aufgerufen. Diese Funktion muss in einem Modul eingetragen sein, sonst wird sie nicht gefunden. Dort muss als Code nur eine Zeile rein:

Visual Basic:
Tabelle1.Activate

Immer wenn in der Tabelle eine Taste gedrückt wird, wird die Zeitspanne wieder neu gesetzt und der "Countdown" beginnt von neuem.

Wenn ich deinen Code richtig verstanden habe, ist die Antwort auf Punkt 1 ja eigentlich einfach, du musst nur den Inhalt der Variablen "legitimiert" von FALSE auf TRUE ändern.
 

Neue Beiträge

Zurück