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

Textbox // Leerzeichen autom. setzen

Textbox // Leerzeichen autom. setzen
20.03.2008 16:26:00
Malcolm
Hallo Zusammen,
wie kann ich bei der Eingabe in eine TextBox welche aufgrund der Bedingung

Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Textbox2 nur Zahlen zulassen
Select Case KeyAscii
Case 48 To 57
Case Asc (" ")
Case Else: KeyAscii = 0
End Select
End Sub


nur Zahlen und Leerzeichen als Eingabe zulässt erreichen, das bei der Eingabe zwischen der 2 und 3, sowie zwischen der 5 und 6 Stelle jeweils ein Leerzeichen automatisch eingestezt wird
Die Textbox soll nach eingabe der 10 Stelligen Zahl folgendes Format aufweisen:
12 123 12345
Herzlichen Dank vorab für Eure Antworten
Gruß Malcolm

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textbox // Leerzeichen autom. setzen
20.03.2008 16:45:58
Rudi
Hallo,

Private Sub TextBox2_Change()
If Len(TextBox2) = 10 Then
TextBox2 = Format(TextBox2, "00 000 00000")
Else
TextBox2 = Replace(TextBox2, " ", "")
End If
End Sub



Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Textbox2 nur Zahlen zulassen
Select Case KeyAscii
Case 48 To 57
Case Else: KeyAscii = 0
End Select
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Textbox // Leerzeichen autom. setzen
20.03.2008 17:01:00
Tino
Hallo,
noch eine Möglichkeit.
MaxLength auf 12 stellen.

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("1234567890" & Chr$(8), Chr$(KeyAscii)) = 0 Then
KeyAscii = 0
End If
If Len(TextBox1) >= 9 Then
TextBox1 = Mid(TextBox1, 1, 2) & " " & Mid(TextBox1, 3, 3) & " " & Mid(TextBox1, 6, 5)
End If
End Sub


Gruß
Tino

Anzeige
AW: Textbox // Leerzeichen autom. setzen
20.03.2008 17:26:00
Tino
Hallo,
habe noch etwas experimentiert.
Diese Funktion in ein Modul

Function CountChar(ByVal SourceString As String, ByVal strChar As String) As Long
CountChar = Len(SourceString) - Len(Replace(SourceString, strChar, ""))
End Function


Diesen Code für deine Textbox


Public Wert As String
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If CountChar(TextBox1, " ") >= 2 Then
TextBox1 = Wert
Exit Sub
End If
If InStr("1234567890" & Chr$(8), Chr$(KeyAscii)) = 0 Then
KeyAscii = 0
End If
If Len(TextBox1) >= 9 Then
TextBox1 = Mid(TextBox1, 1, 2) & " " & Mid(TextBox1, 3, 3) & " " & Mid(TextBox1, 6, 5)
End If
Wert = TextBox1
End Sub


Vorteil der Text wird bei Eingabe von mehr als Zehn Zahlen nicht überschrieben.
Gruß
Tino

Anzeige
AW: Textbox // Leerzeichen autom. setzen
20.03.2008 17:14:31
Matthias
Hallo

Option Explicit
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Textbox2 nur Zahlen zulassen
Select Case KeyAscii
Case 48 To 57
Case Asc(" ")
Case Else: KeyAscii = 0
End Select
 If Len(TextBox2.Value) > 8 Then
TextBox2.Value = Format(TextBox2, "## ### ####")
End If
End Sub


Gruß Matthias

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige