Textbox in UF - Leerzeichen (alle 4 Stellen)
#1
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
Top
#2
Moin!
Format("123456789012", "@@@@ @@@@ @@@-@")
ergibt
1234 5678 901-2

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#3
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
Top
#4
Hi Michael,

es gibt keine blöden Fragen - nur blöde Antworten. Wink
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#5
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
Top
#6
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.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#7
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
Top
#8
(01.03.2021, 12: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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Eizi100
Top
#9
Hallo,

vielleicht auch einfach so:

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

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Eizi100
Top
#10
Danke an Alle
@Ralf
Das bekomme sogar ich jetzt zusammen. 
Das mit dem Trim kannt ich gar nicht

LG
Michael
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste