Hallo,
ich habe folgendes problem:
In eine Textbox werden Zahlen eingegeben. Diese sollen während der Eingabe in 3er-Gruppen gruppiert werden.
Über FORMAT scheints nicht zu klappen.
Ich habe mir eine kleine Funktion geschrieben, die die Zahlen gruppieren soll.
wenn "123" in der Textbox ssteht ist der Cursor noch hinter der 3
Dann tippt der User eine 4 ein. gewünschtes Ergebnis: " 1 234"
danach ist der Cursor allerdings vor der 1.
ich habe folgendes problem:
In eine Textbox werden Zahlen eingegeben. Diese sollen während der Eingabe in 3er-Gruppen gruppiert werden.
Über FORMAT scheints nicht zu klappen.
Ich habe mir eine kleine Funktion geschrieben, die die Zahlen gruppieren soll.
wenn "123" in der Textbox ssteht ist der Cursor noch hinter der 3
Dann tippt der User eine 4 ein. gewünschtes Ergebnis: " 1 234"
danach ist der Cursor allerdings vor der 1.
Code:
Public Function Gruppieren(Eingabestring As String, Gruppierlänge As Integer) As String
Dim Zeichenmenge As Integer, Gruppenanzahl As Integer, Restzeichen As Integer, i As Integer
Dim AusgabeString As String, Arbeitsstring As String
Zeichenmenge = Len(Eingabestring)
If Zeichenmenge > Gruppierlänge Then
'Anzahl Zeichen ermitteln, Über Mid-Funktion den String von hinten aufrollen
Gruppenanzahl = Zeichenmenge \ Gruppierlänge
Restzeichen = Zeichenmenge Mod Gruppierlänge
If Restzeichen <> 0 Then
Arbeitsstring = Left(Eingabestring, Restzeichen) & Chr(32)
End If
'If AusgabeString = "" Then
Arbeitsstring = Arbeitsstring & Right(Eingabestring, Gruppierlänge)
AusgabeString = Arbeitsstring
Else
AusgabeString = Eingabestring
End If
Gruppieren = AusgabeString
End Function