Frage von agent888, 64

Wie kann ich in VBA herausfinden, ob ein Komma in einem Wert steht?

Hi, ich habe in VBA ein Formular programmiert und möchte nun Kommawerte abfangen. Wie kann ich prüfen ob ein Komma in einem Textfeld steht? Danke für die Antworten schon im Voraus!

Expertenantwort
von Oubyi, Community-Experte für Excel, 64

Dim booKomma As Boolean
booKomma = InStr(TextBox1.Text, ",")
Debug.Print booKomma


Kommentar von agent888 ,

Danke für deine Antwort! Hat funktioniert!

Kommentar von Iamiam ,

für nur Zahlen müsste auch gehen;

if Cdbl(TextBox1.Text) <> Cint(TextBox1.Text) then MSGbox "[ Komma mit Auswirkung auf Wert in TextBox1 ! oder andere Registrierungsart, zB in Variable ]"

Hab ich aber nicht getestet.

Kommentar von Oubyi ,

Gern geschehen ☼

Antwort
von augsburgchris, 32

Wenn du sicher gehen willst das nur Zahlen und nur EIN Komma eingetragen werden darf. (Dezimalzahlen) dann so:

 

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
  Case 8, 48 To 57
  KeyAscii = KeyAscii
  Case 44, 46
    Select Case InStr(1, TextBox1.Text, ",")
        Case Is > 0
            KeyAscii = 0
        Case Else
            KeyAscii = 44
    End Select
  Case Else
    KeyAscii = 0
End Select
End Sub

Keine passende Antwort gefunden?

Fragen Sie die Community