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

Auch negative Werte zulassen aber wie?

Auch negative Werte zulassen aber wie?
28.10.2003 13:40:13
Micha
Hallo hier in dem Modul will das bei der EIngabe in eine Textbox nur Zahlen zugelassen sind. Also kein Punkt nur ein Komma und keine Buchstaben. aber nun ist mir aufgefallen das ich somit auch keine negativen Zahlen zulasse. Wie wäre denn die Lösung mit negativen Zahlen?


Function MyIsNumeric1(strEingabe As String) As String
Dim i As Byte
Dim strHelp As String
Dim bytKomma As Byte
Dim char As String
'*** StrEingabe ist nicht leer, wenn diese Funktion aufgerufen wird!
'*** Hier werden nur Punkte geprüft: für VBA sind Punkte numerisch, aber sie werden in der Excel-Umgebung
'*** als Tauserdertrennpunkt verstanden. Dann wird die Zahl 2.3 als 23 verstanden. daher müssen Punkte bei der Eingabe
'*** nicht akzeptiert werden
For i = 1 To Len(strEingabe)
char = Mid$(strEingabe, i, 1)
If char = "." Then
MsgBox "Die Eingabe von Punkten ist nicht zulässig!"
MyIsNumeric1 = ""
Exit Function
End If
Next
'*** Hier werden nur die Kommas geprüft: Ein Komma für eine reelle Zahl kann akzeptiert werden, aber nur eins!
For i = 1 To Len(strEingabe)
char = Mid$(strEingabe, i, 1)
If char = "," Then bytKomma = bytKomma + 1
If bytKomma > 1 Then    '*** also bei dem zweiten Komma
MsgBox "Die Eingabe von mehr als ein Komma ist nicht zulässig!"
MyIsNumeric1 = ""
Exit Function
End If
Next
'*** Alle andere Zeichen
If Not IsNumeric(strEingabe) And Not strEingabe = "" Then
MsgBox "Bitte nur Zahlen eingeben!"
For i = 1 To Len(strEingabe)
char = Mid$(strEingabe, i, 1)
'*** Alle Ziffern und ein Komma werden akzeptiert und in einem Hilfstext übertragen
If IsNumeric(char) Or (char = "," And bytKomma = 1) Then strHelp = strHelp & char
Next
'*** Der Hilfstext wird im Eingabefeld   zurückgeschrieben: alle Zeichen außer Ziffern und ein KOmma sind weg!
MyIsNumeric1 = strHelp
Else
'**** Alles Paletti, die Eingabe wird unverändert zurückgegeben
MyIsNumeric1 = strEingabe
End If
End Function

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auch negative Werte zulassen aber wie?
28.10.2003 13:58:25
Nike
Hi,
mal so probieren:
anstelle von
If Not IsNumeric(strEingabe) And Not strEingabe = "" Then
das hier:
If Not IsNumeric(strEingabe) And Not strEingabe = "" And Not left(strEingabe,1) = "-" Then

Bye

Nike
AW: Auch negative Werte zulassen aber wie?
28.10.2003 14:04:03
Micha
Lösung ist fast ok!
Denn nun kann sooft wie ich will das "-" eingeben es darf aber nur an der ersten Stelle sein. Oder?
AW: Auch negative Werte zulassen aber wie?
28.10.2003 14:15:24
Nike
Hi,
jup.

Bye

Nike

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige