Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
940to944
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Laufzeitfehler 424

Laufzeitfehler 424
13.01.2008 22:05:55
markus
Ich habe folgende Makros zur Passwortabfrage, nach dem ich das Passwort 3 x falsch eingegeben habe ist die Tabelle gesperrt.
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


7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 424
13.01.2008 22:27:00
Ramses
Hallo
Welche Zeile wird im Debugger markiert ?
Ist das Passwort "x" korrekt ?
Sheets("Start").Protect
Wenn die Tabelle schon geschützt ist, dann kannst du sie nicht nochmal schützen
Wo ist die "Crypto" Funktion ?
Gruss Rainer

AW: Laufzeitfehler 424
13.01.2008 22:41:00
markus
Hallo Rainer,
das passwort ist "x" und der fehler kommt erst bei der Textbox, sieht aus als würde er sie nicht finden muß ich erst das Blatt wieder frei schalten?
was meinst du mit "Crypto" Funktion?
Gruß Markus

AW: Laufzeitfehler 424
13.01.2008 22:47:38
Ramses
Hallo
Wo ist denn die Textbox ? In einer Userform, oder in der Tabelle die du gerade geschützt hast ?
Dann musst du die Textbox vorher aktivieren bevor du schützt.
TextBox1.Enabled = True
'Ist das die aktuelle Tabelle ?
Sheets("Start").Protect Password:="x", UserInterfaceOnly:=True
'Hier wird ein externes Makro aufgerufen das du nicht zeigst
LogOff
'Hier wird eine externe Funktion "Crypto" aufgerufen
strPW = Crypto(rng.Offset(0, 1).Text, cKey)
Gruss Rainer

Anzeige
AW: Laufzeitfehler 424
14.01.2008 00:12:20
Erich
Hi Rainer und Markus,
die Mappe stammt von Sepp, er hat sie als Beispielmappe hier hochgeladen:
https://www.herber.de/forum/archiv/864to868/t864224.htm
@ Markus: Ein Hinweis auf deinen vorigen Thread zum selben Thema wäre nicht schlecht gewesen:
https://www.herber.de/forum/messages/940842.html
bzw. im Archiv dann
https://www.herber.de/forum/archiv/940to944/t940842.htm
Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Laufzeitfehler 424
14.01.2008 00:24:00
markus
sorry kommt nicht wieder vor!
Kannst du mir vielleicht helfen?
Gruß Markus

AW: Laufzeitfehler 424
14.01.2008 11:05:47
Erich
Hi Markus,
da hast du ja heute schon wieder einen neuen Thread zum selben Thema begonnen...
Du solltest das nicht tun.
Hast du das Angebot wahrgenommen, das dir Gerhard gemacht hat in
https://www.herber.de/forum/messages/941445.html
Wenn nicht, kannst du die Mappe auch an mich schicken. Meine Mail-Adresse findest du hier in der Profilliste
(via Button "Forums-Seiten").
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige