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

wert prüfen

wert prüfen
26.12.2006 16:28:57
René
Hallo Excelgemeinde
Ich versuche in einer Privat Sub einer Textbox den eingegebenen Wert zu überprüfen.
Die Textbox ist auf einer Userform platziert, und soll eine Ganzzahl aufnehmen die vom Anwender eingegeben wird.
Diese Zahl soll aber ohne Komma eingeben werden, weil die Stellen nach dem Komma in einer separaten Taxtbox erfasst werden.
Beispiel: 100,85.
In der Eingabe soll die 100 in Textbox1 und die 85 in Textbox2 erfasst werden.
Die Länge der Zahl in der Textbox1 kann varieren, von 0 bis maximal 99999.
Die Länge der Zahl in Textbox2 darf maximal 2 Stellen lang sein.
Ich möchte dem Anwender später ersparen Komata einzugeben.
Wenn er aber jetzt trotzdem einen Wert (z.B. 100,85 oder 100.85) in Textbox1 eingibt, soll dieser abgefangen werden (MsgBox, anschliessend SetFocus auf die Textbox1).
Alphanumerische Zeichen fange ich schon mit der Dimmensionierung der Variable ab, die den Wert aus der Textbox1 übernimmt.
(Dim a As Integer.........a = Textbox1.Value.......)
Wenn jemand eine Idee hat, wäre ich sehr dankbar darum.
Gruß René

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wert prüfen
26.12.2006 19:17:17
Luschi
Hallo René,
hier mal eine Beispieldatei mit Formular und Texteingabefeld.
Es konnen nur 5 Zahlen eingegeben werden:
https://www.herber.de/bbs/user/39187.xls
Gruß von Luschi
aus klein-Paris
AW: wert prüfen
26.12.2006 19:54:51
René
Hallo Luschi
Das hilft mir in meinem Fall nicht.
Trotzdem Danke für deine Mühe.
Ich habe eine andere Lösung gefunden, die ist zwar sicher nicht die eleganteste, aber sie funzt.

Private Sub EinEuro_exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim a As Integer: Dim b As String: Dim c As String: Dim l As Byte: Dim ll As Byte
On Error GoTo FalscherWert
a = EinEuro.Value: b = EinEuro.Value: c = a
l = Len(c): ll = Len(b)
If l <> ll Then
GoTo FalscherWert
End If
Exit Sub
FalscherWert:
m = MsgBox("Es wurde kein korrekter numerischer Wert eingegeben!", vbInformation, "Eingabe Einnahme / Euro")
Cancel = True
EinEuro.Value = 0
EinEuro.SetFocus
EinEuro.SelStart = 0: EinEuro.SelLength = Len(EinEuro.Text)
End Sub

Ich habe den Wert aus 'EinEuro' an a (Dim As Integer) und b (Dim As String) übergeben.
Danach übergebe ich den Wert a an c (Dim As String)
Da a als Integer automatisch gerundet wird, ist es als String in c dann kürzer als b.
Mit der Funktion len vergleiche ich die beiden Strings.
Ist das Ergebniss ungleich, muss ein anderes Zeichen als eine Zahl darin sein.
Wie gesagt, mir ging es nur darum eventuelle Punkt- oder Kommaeingaben abzufangen.
Durch die Dimensionierung der Variable a (Integer) werden komplette alphanumerische Eingaben sowieso abgefangen.
Wenn aber noch irgend jemand eine elegantere Lösung weiß, bin ich für alles offen :-)
Gruß von René
auch aus Klein-Paris ;-)
Anzeige
AW: wert prüfen
26.12.2006 21:45:26
Luschi
Hallo Rene,
bei Textboxen ist es wichtig, nicht erwünschte Zeichen bereits bei der Eingabe zu eleminieren, anstatt hinterher mühsam zu prüfen, welche Zeichen sollten eigentlich garnicht vorhanden sein.
Neben Punkt und Komma sind es ja alle Buchstaben, Sonderzeichen und die Zeichen, die man im Zusammenhang mit der ALT-Taste + Nummernblock auch eingeben kann.
Die 2 Textboxen dürfen nur auf Zahlen, den Cursor-, den Lösch-, der Tabulator- und der Entertaste reagieren.
Eigentlich müßte man auch noch die Null als 1. Zeichen verhindern.
Ich habe mein Beispiel dahingehend auf 2 Textboxen erweitert.
https://www.herber.de/bbs/user/39190.xls
Gruß von Luschi
aus klein-Paris
Anzeige
AW: wert prüfen
26.12.2006 21:56:08
René
Hallo Luschi
Danke, dass ist treffender.
Danke für den Code, denn kann ich gut umsetzen :-)
Gruß René
AW: wert prüfen
26.12.2006 22:19:38
Luschi
Hallo Rene,
habe eine logischen Fehler korrigiert und die Prüfung dahingehend erweitert, daß in der 1. Textbox als 1. Zeichen keine Null eingegeben werden kann:
https://www.herber.de/bbs/user/39191.xls
Gruß von Luschi
aus klein-Paris
AW: wert prüfen
27.12.2006 01:15:00
René
Hi Luschi
Spät kommt ihr aber ihr kommt.
Ich habe mir auch deinen 2. Code runtergeladen.
Ja, du hast recht, das Ausschliessen von bestimmten Zeichen usw. macht Sinn.
Danke nochmal, der zweite Code ist super.
Gruß René
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige