Laufzeitfehler 424
13.01.2008 22:05:55
markus
Jetzt möchte ich mir einen Rettungsbutton basteln und habe mir folgendes gedacht:
Sub Rettung()
Inp = InputBox("Geben Sie das Passwort ein", "")
If Inp "start" Then
MsgBox "Falsches Passswort"
Exit Sub
End If
Sheets("Start").Protect Password:="x", UserInterfaceOnly:=True
LogOff
TextBox1.Enabled = True
End Sub
-----> Laufzeitfehler 424 - kann mir jemand helfen?
Danke.
Hier das Makro zur Passwortabfrage:
Private Sub CommandButton1_Click()
Dim objWS As Worksheet
Dim rng As Range
Dim vSheets As Variant
Dim intIndex As Integer
Dim strPW As String
On Error Resume Next
If Me.ComboBox1.ListIndex > -1 Then
Application.ScreenUpdating = False
For Each objWS In Me.Parent.Worksheets
If objWS.Name "Start" Then objWS.Visible = xlSheetVeryHidden
Next
Set rng = ThisWorkbook.Sheets("Master").Range("benutzer").Find(Me.ComboBox1.Text, LookAt:= _
xlWhole)
If Not rng Is Nothing Then
strPW = Crypto(rng.Offset(0, 1).Text, cKey)
If Me.TextBox1.Text = strPW Then
intCount = 0
rng.Offset(0, 3) = Now
If LCase(rng.Offset(0, 2).Text) = "alle" Then
For Each objWS In ThisWorkbook.Worksheets
objWS.Visible = xlSheetVisible
Next
Else
vSheets = Split(rng.Offset(0, 2), ",")
For intIndex = 0 To UBound(vSheets)
ThisWorkbook.Sheets(vSheets(intIndex)).Visible = xlSheetVisible 'True '
Next
ThisWorkbook.Sheets(vSheets(0)).Activate
End If
Else
intCount = intCount + 1
If intCount "Start" Then objWS.Visible = xlSheetVeryHidden 'True '
Next
With Me
.ComboBox1.Clear
.ComboBox1.Enabled = False
.TextBox1 = ""
.TextBox1.Enabled = False
.CommandButton1.Enabled = False
.CommandButton2.Enabled = False
End With
ThisWorkbook.Saved = True
Application.ScreenUpdating = True
End If
End If
End If
Me.TextBox1 = ""
Application.ScreenUpdating = True
End If
End Sub
Private Sub CommandButton2_Click()
LogOff
End Sub
Private Sub CommandButton3_Click()
Dim rng As Range
Dim strPW As String
Dim objWS As Worksheet
Dim vSheets As Variant
Dim intIndex As Integer
Application.ScreenUpdating = False
For Each objWS In Me.Parent.Worksheets
If objWS.Name "Start" Then objWS.Visible = xlSheetVeryHidden 'True '
Next
If CommandButton3.Caption = "Passwort ändern" Then
Range("C11") = "Neues Passwort:"
Range("C13") = "Passwort wiederholen:"
TextBox2.Visible = True
TextBox3.Visible = True
TextBox1.Activate
CommandButton3.Caption = "Passwort speichern"
Else
Set rng = ThisWorkbook.Sheets("Master").Range("benutzer").Find(Me.ComboBox1.Text, LookAt:= _
xlWhole)
If Not rng Is Nothing Then
strPW = Crypto(rng.Offset(0, 1).Text, cKey)
If Me.TextBox1.Text = strPW Then
If Len(Me.TextBox2.Text) > 0 And Me.TextBox2 = Me.TextBox3 Then
rng.Offset(0, 1) = Crypto(TextBox2.Text, cKey)
intCount = 0
rng.Offset(0, 3) = Now
If LCase(rng.Offset(0, 2).Text) = "alle" Then
For Each objWS In ThisWorkbook.Worksheets
objWS.Visible = xlSheetVisible
Next
Else
vSheets = Split(rng.Offset(0, 2), ",")
For intIndex = 0 To UBound(vSheets)
ThisWorkbook.Sheets(vSheets(intIndex)).Visible = xlSheetVeryHidden 'True '
Next
ThisWorkbook.Sheets(vSheets(0)).Activate
End If
Else
Me.TextBox2 = ""
Me.TextBox3 = ""
MsgBox "Die Passwörter Stimmen nicht überein!" & vbLf & vbLf & _
"Geben Sie das neue Passwort nochmals ein.", vbInformation, "Hinweis"
Exit Sub
End If
Else
intCount = intCount + 1
If intCount "Start" Then objWS.Visible = xlSheetVeryHidden 'True '
Next
With Me
.ComboBox1.Clear
.ComboBox1.Enabled = False
.TextBox1 = ""
.TextBox2.Visible = False
.TextBox3.Visible = False
.TextBox1.Enabled = False
.CommandButton1.Enabled = False
.CommandButton2.Enabled = False
.CommandButton3.Enabled = False
.Range("C11").ClearContents
.Range("C13").ClearContents
End With
ThisWorkbook.Saved = True
Application.ScreenUpdating = True
End If
End If
End If
With Me
.Range("C11").ClearContents
.Range("C13").ClearContents
.TextBox1 = ""
.TextBox2 = ""
.TextBox3 = ""
.TextBox2.Visible = False
.TextBox3.Visible = False
.CommandButton3.Caption = "Passwort ändern"
End With
End If
Application.ScreenUpdating = True
End Sub