if anweisung passt nicht

WaZZkeSS

Erfahrenes Mitglied
Hi!

Zuerst möchte ich mich für so eine Frage entschuldigen aber ich komm einfach nicht dahinter. Naja, vielleicht auch weil ich ein Anfänger bin in VB

Ich möchte das im Eingabefeld nur Zahlen eingegeben werden.
Habe es auf diese Weise probiert.
Code:
   Sub fornext()
   
   Dim y As Integer
   Dim x As String
   
   	y = 5
   	x = InputBox("Geben sie eine Zahl zwischen 1 bis 10 ein:", "Eingabefeld")
   					
   		If x = "" Then
   			MsgBox "Bitte eine Zahl eingeben"
   		ElseIf Not IsNumeric Then
   			MsgBox "nur Zahlen", , Eingabefeld
   		ElseIf x > 10 Or x < 1 Then
   			MsgBox "Bitte eine Zahl zwischen 1 bis 10 eingeben"
   		
   	Else
   		
   	MsgBox "Das Erbegniss lautet=" & x * y
   
   End If
   		
   
   End Sub
 
if not ( x is numeric ) then

müsste es heissen bzw. if not is numeric(x) then

irgendwie so bin zu faul den debugger zu öffnen


zweitens steht in x ein string d.h. x>10 wird zum string-vergleich was in deinem fall glaub ich nicht klappt nimm also :

if val(x) >10 or val(x) <1 then

dabei fällt auf das wenn man die val funktion nimmt die ersten beiden if anweisungen überflüssig werden

denn val von "" ist 0 und val von einem string (bsp "irgendwas") ist im normalfall auch null also reicht die prüfung ob der wert zwischen 1 und 10 liegt ;-)

Gruß bb
 
Zurück