Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
736to740
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
736to740
736to740
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Inputbox

Inputbox
23.02.2006 11:07:29
Torge
Hallo,
wer kann helfen.
Wie kann ich die Eingabe in einer Inputbox für ein Password prüfen lassen, dh. ich möchte nur Zahlen zulassen, bei Buchstaben oder leer soll Hinweis erscheinen die Eingabe ist nicht korrekt bzw. bitte nur Zahlen verwenden.
Habe es zur Zeit so: "Kundennr = Application.InputBox("Kundennr", Type:=1) ' Kundennr, eingeben" aber bekomme bei Eingabe von Buchstaben eine Fehlermeldung in Form "Zahl ungültig", obwohl keine Zahl eingegeben wurde, sondern ein Buchstabe.
Danke schon mal.
Gruß Torge

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inputbox
23.02.2006 11:09:53
u_
Hallo,
bei Type:=1 sind nur Zahlen zulässig.
Gruß
Geist ist geil!
AW: Inputbox
23.02.2006 13:50:40
Torge
Hy,
Danke für die Info. Hab ich bereits gemacht aber wenn nun ein Buschstabe eingegeben wird, kommt es zur Fehlermeldung und die möchte ich umgehen.
Sieht so bei mir aus:
"

Sub Mappezu()
Dim Kundennr As Integer
For i = 1 To Sheets.Count  'alle Tabellenblätter sperren
Sheets(i).Protect
Next i
'hier kommt bei Buchstaben die Fehlermelung, weiss leider nicht warum'
Kundennr = Application.InputBox("Kundennr", Type:=1) ' Kundennr, eingeben
With Worksheets(1).Range("a1:a500")
Set c = .Find(Kundennr, LookIn:=xlValues) ' Kundennr suchen
If Not c Is Nothing Then
firstAddress = c.Address
Do
If c = Kundennr Then           ' Kundennr gefunden dann zelle B x anzeigen
MsgBox "Kundennr gefunden. Ihr Zugangscode =  " & c.Offset(0, 1)
For i = 1 To 3
Sheets(i).Unprotect  'Tabellenblatt 1 bis 3 freigeben
Next i
End If
Exit Sub
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
MsgBox "keine Übereinstimmung!!" 'Kundennr falsch, Macro beenden. Blätter sind gesperrt.
End Sub

"
Gruß Torge
Anzeige
AW: Inputbox
23.02.2006 11:11:24
Andi
Hi,
und wo is das Problem? Du hast doch was Du willst. Wenn etwas anderes als eine Zahl eingegeben wird, dann kommt ne Fehlermeldung, sonst nicht. Oder stört Dich der Text der Fehlermeldung?
Schönen Gruß,
Andi
AW: Inputbox
23.02.2006 13:59:28
Torge
Hallo Andi,
der Text wäre nicht so schlimm aber das könnte von jemanden, der da diese Meldung nicht richtig deuten kann falsch verstanden werden. Und ein Buchstabe ist doch keine Zahl. Wenn ich anstelle "Kundennr = Application.InputBox("Kundennr", Type:=1)" der 1 eine 2 eingebe, dann funktioniert es auch leider nicht.
Hast Du da noch einen Hinweis?
Danke trotzdem
Torge
Anzeige
AW: Inputbox
23.02.2006 14:36:18
Andi
Hi,
mit Type:=2 geht's natürlich nicht, das is nämlich genau das Gegenteil, also nur Text als Eingabe zulässig...
Wenn ich das jetzt richtig verstehe, dann stört Dich nur der Text der Fehlermeldung, denn eine Meldung bei Eingabe eines nicht-numerischen Wertes wolltest Du ja, oder? Der Text is in dem Fall aber nicht veränderbar, das müsste man dann anders lösen, zB so:
Do
eingabe = InputBox("Eingabe")
Select Case IsNumeric(eingabe)
Case True
Exit Do
Case False
If eingabe = "" Then Exit Sub
MsgBox "Bitte eine Zahl eingeben"
End Select
Loop
kundennr = eingabe
Dieser Code ersetzt die eine Zeile mit der InputBox bei Dir; zusätzlich musst Du noch die Variable eingabe deklarieren, und zwar als Variant.
Ob der Text in der Fehlermeldung den Aufwand wert ist, musst Du jetzt selbst wissen.
Schönen Gruß,
Andi
Anzeige
AW: Inputbox
24.02.2006 10:28:58
Torge
Hallo Andi,
vielen Dank für Deine Hilfe.
Werd es mal so versuchen, leider weiss ich nicht wie das zu machen ist " Variable eingabe deklarieren, und zwar als Variant" , da ich in dieser Sache nicht ganz so bewandert bin. Nofalls stelle ich die Frage noch einmal im Formu, wenn ich dafür keine Lösung finden sollte. Mir geht es ja nur darum, das es auch Leute gibt die auf solche Kleinigkeiten Wert legen und auch für den, der keine Ahnung davon hat verständlich aussehen sollte. Wie man sagt, Benutzerfreunklich. Also vielen Dank für Deine Hilfe bis hier.
Schönes Wochenende
Gruß Torge
Anzeige
AW: Inputbox
24.02.2006 10:35:34
Andi
Hi,
ich war davon ausgegangen, dass das Makro in diesem thread von Dir stammt:
https://www.herber.de/forum/messages/736273.html
und dass Dir klar ist, dass Du mit der Zeile
Dim Kundennr As Integer
die Variable Kundennr als Integer deklarierst.
Analog dazu deklarierst Du mit
Dim eingebe as Variant
die Variable eingabe as Variant (Variant ist ein allgemeiner Datentyp, dem alles mögliche zugewiesen werden kann, zB Text, Zahlen, Daten, ...; Integer kann nur Ganzzahlen)
Schönen Gruß,
Andi
AW: Inputbox
24.02.2006 10:48:11
Torge
Hallo Andi,
vielen Dank für Deine Erklärung. Nein das Makro war leider nicht von mir, es hatte mir jemand auch aus dem Forum zur Verfügung gestellt als AusgangsMakro mit dem Hinweis, wenn noch Fragen sind diese im Forum zu stellen. Na ja und bei Probieren bin ich eben auf diesen Mangel gestoßen und wollte es umgehen. Aber dazu muss man wissen wie und was. Aber denke habe Deinen Hinweis verstanden. Ich setz mich gleich ran.
Also trotzdem vielen Dank
Gruß Torge
Anzeige
AW: Inputbox
24.02.2006 11:25:19
Andi
Hi Torge,
nicht falsch verstehen, das sollte kein Rüffel sein, nur ein gut gemeinter Hinweis.
Wenn man hier auf einen Beitrag antwortet, in dem ein Makro gepostet wurde, dann geht man zunächst davon aus, dass der Frager das selbst geschrieben hat, und demnach auch über die notwendigen Kenntnisse verfügt, um das Makro zu schreiben. Wenn das nicht der Fall ist, dann ist das natürlich völlig in Ordnung, man kann die Antwort aber besser auf das Wissen des Fragestellers abstimmen, wenn man das weiß.
Nix für ungut,
Andi

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige