Clever-Excel-Forum

Normale Version: Textbox in UF - Leerzeichen (alle 4 Stellen)
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen

Könnte mir ev helfen bei meinem Problem
in einer Textbox gebe ich Zahlen ein (eigentlich immer 12stellig) nur will ich, dass alle 4 Stellen ein Leerzeichen oder ein Bindestrich eingesetzt wird. Ich schaffe es nur, dass mir bei den ersten 4 Stellen ein Leerzeichen eingesetzt wird.  (Den Code habe ich von Hary, der mir echt schon viel geholfen hat. ich will ihn aber nicht mehr nerven, weil er schon so viel Arbeit mit mir hatte) Angel
PHP-Code:
Private Sub ZusatzwagenText1_Change()
If 
Len(ZusatzwagenText1) = Or Len(ZusatzwagenText1) = 4 Then ZusatzwagenText1 ZusatzwagenText1 "-"
End Sub 

Am Liebsten wäre es mir sogar wenn die Zeichenfolge so aussehen würde
ich gebe ein 1111222233334444 und die Ausgabe soll 1111 2222 3333 444-4 oder 1111 2222 3333 444 4

LG
Michael
Moin!
Format("123456789012", "@@@@ @@@@ @@@-@")
ergibt
1234 5678 901-2

Gruß Ralf
Danke Ralf
Ich schreibe diese mal in diesem Forum, weil ich mich echt schon schäme dass ich so viele Blöde Fragen stelle

LG
Michael
Hi Michael,

es gibt keine blöden Fragen - nur blöde Antworten. Wink
Ich will aber einige Sachen selber schaffen. Und darum frage ich sehr oft nach

Jetzt kommt aber die blöde Frage

Format("123456789012", "@@@@ @@@@ @@@-@")

wie soll ich sowas in der Textbox umsetzen? 
LG
Michael
Indem Du das nicht ins _Change, sondern ins _Exit setzt.
Man könnte natürlich auch 0000 0000 000-0 nehmen, müsste dann aber vorher auf IsNumeric(TextBox1) prüfen.
Habs  so gelöst
Nur kommen die Leerzeichen erst beim Verlassen. Das ist noch nicht das gelbe vom Ei. die Leerzeichen sollen gleich bei der Eingabe kommen


Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
 
        TextBox1.Value = Format(TextBox1.Value, "#### #### ###-#")
   
End Sub
(01.03.2021, 11:49)Eizi100 schrieb: [ -> ]Das ist noch nicht das gelbe vom Ei.

Stimmt!
Ein Userform ist niemals das Gelbe vom Ei!
Es sei denn, man investiert etliche Stunden ins Debugging!

Egal: Debugging fehlt beim folgenden Code, aber das darfst Du dann selbst machen:

Dialog UserForm1
Option Explicit 
 
Private Sub TextBox1_Change() 
Select Case Len(TextBox1) 
  Case 4, 9 
    TextBox1 = TextBox1 & " " 
  Case 13 
    TextBox1 = TextBox1 & "-" 
  Case 15 
    Application.SendKeys "{tab}" 
End Select 
End Sub 

Gruß Ralf
Hallo,

vielleicht auch einfach so:

Code:
Private Sub TextBox1_Change()
  TextBox1 = Trim(Format(Replace(Replace(TextBox1, "-", ""), " ", ""), "#### #### ###-#"))
End Sub

Gruß Uwe
Danke an Alle
@Ralf
Das bekomme sogar ich jetzt zusammen. 
Das mit dem Trim kannt ich gar nicht

LG
Michael
Seiten: 1 2