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

UF: Numerische Dateneingabe überlistet

UF: Numerische Dateneingabe überlistet
22.06.2006 11:26:34
Marcel
Hallo
Habe in UF Eingabefelder, in denen numerische Werte erfasst werden müssen. Dass dies erfolgt, habe ich folgenden Code verwendet:
If IsNumeric(TextBox370.Value) Then
Range("H223").Value = TextBox370.Value
Else
MsgBox "Please enter number of pieces!", _
vbExclamation, "Rules"
TextBox370.Value = "0"
End If
Nun habe ich so einen Schlaumeier, der hat statt 4 den Wert 4' (also mit Apostroph als Tausender) erfasst. Das wird offensichtlich durch obigen Code zugelassen, führt aber in den Tabellen zu Fehlermeldung, da das kein numerischer Wert ist.
Kann mir Da bitte jemand weiterhelfen?
Vielen Dank
Marcel

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UF: Numerische Dateneingabe überlistet
22.06.2006 11:40:05
fcs
Hallo Marcel,
mit folgenden Makros kannst du für Textboxen die Eingabe auf Zahlen einschränken.

' Makros die die Eingabe von Zahlen erzwingen (nur Zahlen und Komma sind möglich)
Private Sub TextBox370_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Call Zahleneingabe(KeyAscii)
End Sub
Private Sub Zahleneingabe(KeyAscii)
'   nur Ziffern und Komma können in Textbox eingegeben
Select Case KeyAscii
Case 48 To 57 'Ziffern 0 bis 9
Case Asc(",")
Case Else
KeyAscii = 0
End Select
End Sub

Beide Makros unter dem entsprechenden. Userform einfügen.
Gruß
Franz
Anzeige
AW: UF: Numerische Dateneingabe überlistet
22.06.2006 11:46:04
Erich
Hallo Marcel,
wie soll das Makro denn auf die Eingabe reagieren? Da gibt es noch 3 Möglichkeiten:
- Eingabe ablehnen
If IsNumeric(TextBox370.Value) And InStr(TextBox370, "'") = 0 Then
- 4000 in die Zelle schreiben
Range("H223").Value = 1000 * CDbl(TextBox370.Value)
- 4 in die Zelle schreiben
Range("H223").Value = CDbl(TextBox370.Value)
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige