Anzeige
Archiv - Navigation
980to984
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
980to984
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Passwortabfrage Vergleichswert nicht gleich

Passwortabfrage Vergleichswert nicht gleich
27.05.2008 12:51:00
Rolf
Hallo zusammen,
Habe eine gaaaanz einfache Passwortabfrage, ohne grosse Knacksicherheit erstellt.
Leider habe ich ein Problem mit der folgenden Zeile:
If TextBox1.Value = ActiveCell Then
Denn einmal ist der Wert (TextBox.Value = "12345")
und einmal ist der Wert (ActiveCell.Value = 12345)
somit sind die Werte nicht übereinstimmend und somit tritt "Else" in kraft.
Auch das formatieren der Zelle als Text half irgendwie nix.
Meine Frage(n):
1. WIe kann man das lösen?
2. Gibt es vielleicht eine viel einfacher Möglichkeit, ein Passwort zu erstellen und prüfen zu lassen?
Gruss
Rolf
Nachfolgend noch das ganze Makro, falls mal einer nach Passwort im Archiv suchen sollte... ;)

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Sheets("Tabelle2").Select
Range("IV65536").Activate
test = ActiveCell.Value
If TextBox1.Value = ActiveCell.Value Then
Range("A1").Select
Sheets("Tabelle1").Select
Range("A2").Select
Application.ScreenUpdating = True
TextBox1.Value = ""
UserForm11.Hide
Admin.Show
Else:
On Error Resume Next
NEIN = MsgBox("Falsches Kennwort!", vbOKOnly, "NEIN")
TextBox1.Value = ""
End If
End Sub


8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Passwortabfrage Vergleichswert nicht gleich
27.05.2008 13:01:05
Rudi
ohne auf das überflüssige Select- und Activate-Gerümpel näher einzugehen:
If TextBox1.Value = CStr(ActiveCell.Value) Then
Gruß
Rudi

AW: Passwortabfrage Vergleichswert nicht gleich
27.05.2008 13:05:54
Michael
Hallo Rolf!
Versuche es mit:
If cstr(TextBox1.Value) = cstr(ActiveCell) Then
Das cstr macht aus allen Feldern TEXT. Du erkenst den Unterschied am "123456" und 123456. Die Anführungszeichen signalisieren den TEXT. Ohne Anführungszeichen ist es ein WERT. Das cstr macht aus allem TEXT. Somit funktioniert der Vergleich.
Gruß
Michael

AW: Passwortabfrage Vergleichswert nicht gleich
27.05.2008 13:08:00
Rudi
Hallo,
Textboxen enthalten immer Text. Deshalb CStr dort überflüssig.
Gruß
Rudi

Anzeige
AW: Passwortabfrage Vergleichswert nicht gleich
27.05.2008 13:36:55
Rolf
Hallo ihr beiden:
Danke für die Antworten!
Das mit den "" habe ich bemerkt, wesswegen auch ich drauf gekommen bin, wieso es nicht klappt.
Das CStr werde ich auf jeden fall einbauen (nur bei dem Wert)!
Und auf das select-Gerümpekl kannst du ruhig eingehen, Rudi. Leider habe ich da irgendwie immer Schwirigkeiten, wie ich das ohne das Gerümpel löse. (Obwohl ich das schon öfters in diversen Turitorials von Excel gelsen habe wie man es ohne löst, bin ich irgendwie einfach nie durchgestiegen.)
Vielleicht hast du ja grad ein wenig Zeit, mich zu verbessern.
Falls nicht, bleibe ich halt dumm, und lass das Makro so...
Danke euch
Rolf

Anzeige
AW: Passwortabfrage Vergleichswert nicht gleich
27.05.2008 13:58:33
Rudi
Hallo,
evtl so?

Private Sub CommandButton1_Click()
Dim Test, NEIN
Application.ScreenUpdating = False
Test = Sheets("Tabelle2").Range("IV65536").Value
If TextBox1.Value = CStr(Test) Then
Application.ScreenUpdating = True
TextBox1.Value = ""
UserForm11.Hide
Admin.Show
Else:
On Error Resume Next  'warum?
NEIN = MsgBox("Falsches Kennwort!", vbOKOnly, "NEIN") 'warum Zuweisung zu Variable?
TextBox1.Value = ""
End If
End Sub


Gruß
Rudi

AW: Passwortabfrage Vergleichswert nicht gleich
27.05.2008 14:16:43
Rolf
Hallo Rudi,
In etwa so?

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
If TextBox1.Value = CStr(Sheets("Tabelle2").Range("iv65536").Value) Then
Application.ScreenUpdating = True
TextBox1.Value = ""
UserForm11.Hide
Admin.Show
Else:
NEIN = MsgBox("Ihr Kennwort ist nicht korrekt!", vbOKOnly, "ZUGANG VERWEIGERT")
TextBox1.Value = ""
End If
End Sub


On Error resume next stammt aus einem Code, den ich aus dem Forum bekam. Wenns auch ohne geht, gerne.
Das mit der MsgBox ohne Namen kapier ich nicht ganz. Meist du so was:
strTxt = "Sie haben den Speichervorgang abgebrochen. Der Berichtmanager wird geschlossen!"
MsgBox strTxt, vbCritical
Ist strTXT dann nicht auch eine Variable, oder nur der Namen der MsgBox?
Gruss
Rolf

Anzeige
AW: Passwortabfrage Vergleichswert nicht gleich
27.05.2008 14:51:24
Rudi
Hallo,
die Rückgabe ist doch nur sinnvoll, wenn die Msgbox mehrere Buttons hat.
Also

NEIN = MsgBox("Ihr Kennwort ist nicht korrekt!", vbYesNo, "ZUGANG VERWEIGERT")
if nein=vbYes then
'Code
else
'Code
End If


In deinem Fall reicht


MsgBox "Ihr Kennwort ist nicht korrekt!", vbOKOnly, "ZUGANG VERWEIGERT"


Gruß
Rudi

Danke!
27.05.2008 15:01:00
Rolf
Hallo Rudi,
Ich hab es auf sicher 10 verschiedene Arten probiert, mit Klammern, ohne Klammern, mit Name, ohne Name und immer war das Ding rot!
Dann kommst du, und ich kopiere die MsgBox Zeile, so wie du sie geschrieben hast, raus und klappt...
"Du bist deine eigene Grenze. Erhebe dich darüber."
Nachmals Danke für alles!
Gruss
Rolf
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige