Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1120to1124
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
textbox dezimalzahlen
kirsche
hallo leute,
ich möchte in textboxen nur dezimalzahlen zulassen.
dafür benutze ich folgenden code:
Private Sub Textbox21_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii: Case 48 To 57: Case 44: Case Else: KeyAscii = 0: End Select
End Sub
nun passiert folgendes phänomen:
gebe ich in die textbox eine zahl mit 2 nachkommastellen ein, dann ist alles ok.
gebe ich 3 nachkommastellen ein, wird die zahl nicht mit nem komma in die tabelle geschrieben, sondern mit nem punkt.
aus 18,356 wird 18.356
beim wieder aufrufen in die textbox kommt dann das raus: 18356
wie kann ich den fehler beheben?
gruss dörte

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: textbox dezimalzahlen
03.12.2009 10:15:56
hary
Hi
Teste mal. Zahl als Double.

Cells(1, 1) = CDbl(TextBox21)

gruss hary
AW: textbox dezimalzahlen
03.12.2009 10:23:32
kirsche
hallo harry,
danke für den tip, so habe ich mir auch geholfen.
aber merkwürdig ist das schon, dass das mit 2 kommastellen klappt und mit 3 kommastellen nicht.
gruss dörte
AW: textbox dezimalzahlen
03.12.2009 11:15:03
Tino
Hallo,
ich mache dies immer mit dieser Funktion.
'Funktion zum prüfen einer Textbox ---> Nur Zahlen zulassen 
Private Function OnlyNumbers(objTextBox As MSForms.TextBox, intKeyNumber As Integer) As Integer
Dim PunktOderKomma As String
    
    PunktOderKomma = IIf("0.5" * 2 = 1, ".", ",")
    
    If intKeyNumber = 44 Or intKeyNumber = 46 Then
            If InStr(objTextBox, PunktOderKomma) = 0 And Len(objTextBox) > 0 Then
              OnlyNumbers = IIf("0.5" * 2 = 1, 46, 44)
            Else
              OnlyNumbers = 0
            End If
     Else
            Select Case intKeyNumber
             Case 48 To 57: OnlyNumbers = intKeyNumber
             Case Else: OnlyNumbers = 0
            End Select
     End If

End Function

Private Sub TextBox21_KeyPress(ByVal intKeyAsc As MSForms.ReturnInteger)
 intKeyAsc = OnlyNumbers(TextBox21, CInt(intKeyAsc))
End Sub
Gruß Tino
Anzeige
AW: textbox dezimalzahlen
03.12.2009 14:39:19
kirsche
hallo tino,
danke für den code, werde ich ausprobieren, leider komme ich heute nicht mehr dazu.
rückmeldung kommt nach test.
gruss dörte

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige