Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
308to312
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
308to312
308to312
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tausender-Trennzeichen

Tausender-Trennzeichen
15.09.2003 14:03:27
Armin
Hallo,

wie bring ich es zustande, dass während der Eingabe in eine TextBox gleich die Tausender-Trennzeichen erscheinen? Ich meine es ist einfach lästig bei großen Millionen-Beträgen immer die Ziffern mitzählen zu müssen.

Wer kann mir helfen?

Gruß

Armin

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tausender-Trennzeichen
15.09.2003 16:27:06
ChrisL
Hi Armin

Nachstehend mal ein Ansatz. Die erste Variante läuft so einigermassen OK, wenn du die englische schreibweise (#,##0.00) verwendest. Variante 2 habe ich dir auf die deutsche Variante umgeschrieben, da ich es aber nicht testen konnte, könnte es dabei noch Probleme geben...

' ***************** VARIANTE 1 ******************

Option Explicit


Private Sub TextBox1_Change()
If IsNumeric(TextBox1) Then
Dim Pos As Integer
If Mid(TextBox1, TextBox1.SelStart + 1, 1) = "." Or InStr(TextBox1, ".") = 0 Then
TextBox1 = Format(TextBox1, "#,##0.00")
TextBox1.SelStart = InStr(TextBox1, ".") - 1
Else
Pos = TextBox1.SelStart
TextBox1 = Format(TextBox1, "#,##0.00")
TextBox1.SelStart = Pos
End If
End If
End Sub



Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Asc(".")
KeyAscii = 0
TextBox1.SelStart = TextBox1.SelStart + 1
Case Asc(",")
If InStr(TextBox1, ",") <> 0 Then
KeyAscii = 0
Else
KeyAscii = Asc(",")
End If
Case Asc(vbBack)
Case Asc("-")
If Len(TextBox1) = 0 Then
If InStr(TextBox1, "-") <> 0 Then
Else
KeyAscii = Asc("-")
End If
Else
KeyAscii = 0
End If
Case Else
KeyAscii = 0
End Select
End Sub


' ***************** VARIANTE 2 ******************

Option Explicit


Private Sub TextBox1_Change()
If IsNumeric(TextBox1) Then
Dim Pos As Integer
If Mid(TextBox1, TextBox1.SelStart + 1, 1) = "," Or InStr(TextBox1, ",") = 0 Then
TextBox1 = Format(TextBox1, "#,##0.00")
TextBox1.SelStart = InStr(TextBox1, ".") - 1
Else
Pos = TextBox1.SelStart
TextBox1 = Format(TextBox1, "#,##0.00")
TextBox1.SelStart = Pos
End If
End If
End Sub



Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Asc(",")
KeyAscii = 0
TextBox1.SelStart = TextBox1.SelStart + 1
Case Asc(",")
Case Asc(vbBack)
Case Asc("-")
If Len(TextBox1) = 0 Then
If InStr(TextBox1, "-") <> 0 Then
Else
KeyAscii = Asc("-")
End If
Else
KeyAscii = 0
End If
Case Else
KeyAscii = 0
End Select
End Sub


Gruss
Chris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige