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

2 Antworten

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

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


Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)

Danke für deine Antwort! Hat funktioniert!

0
@agent888

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.

1