Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Textbox in UF - Leerzeichen (alle 4 Stellen)
#11
Mal etwas ausholend, warum ich das Ganze für eine Schnapsidee halte …
Sobald in einem Format-String ein Doppelkreuz vorkommt, ist das hübsche Format Geschichte, wenn ein Buchstabe vorkommt.
Einen TEXT während der Eingabe zu manipulieren, ist Beschäftigungstherapie.

Bei einer Textbox müsste ich mindestens prüfen, ob IsNumeric(Text) und Len(Text)=12 (oder wie bei mir 15).

So etwas mache ich in einer Zelle mit Datenüberprüfung → Zulassen → Ganzzahl zwischen 100000000000 und 999999999999
und weise ihr das benutzerdefinierte Zahlenformat 0000 0000 000-0 zu.
Fertig!

Bei einer Userform ist der Ersteller dafür verantwortlich, dass das Programm NIEMALS unerwartet abrauchen kann.
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
Antworten Top
#12
Hallo,

ich habe mich mal der Therapie etwas länger unterzogen: 17

Code:
Private Sub TextBox1_Change()
  Static strT As String
  If Not Len(strT) Then
    strT = Replace(Replace(TextBox1, "-", ""), " ", "")
    If Len(strT) < 13 And IsNumeric(strT) Then
      If Len(strT) > 1 Then
        TextBox1 = Trim(Format(strT, "#### #### ###-#"))
      Else
        TextBox1 = strT
      End If
    Else
      If Len(strT) Then
        TextBox1 = Left(strT, Len(strT) - 1)
      End If
    End If
    strT = ""
  End If
End Sub

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Eizi100
Antworten Top
#13
Omg
Wie kommt man nur auf sowas.. Ich bewundere euch echt für sowas

LG
Michael
Antworten Top
#14
Hallo Ralf

Jetzt habe ich Zeit um Dir zu erklären warum ich so ein Textfeld will. Als erstes mal besten Dank
Es geht um eisenbahnspezifisches Bestellformular für Wagenzuführungen. Ein Waggon ist immer 12stellig (numerisch) und wird immer z.B.: 5081 8073 507-2 oder 7380 2190 104-8 geschrieben.
Die Zahlen sind aber nicht zusammengewürfelt und haben einzeln eine Bedeutung und im 4er String wieder eine andere Bedeutung (tlw auch im 2er String. z.B.: 80 ist DB, 81 ist ÖBB, 83 Schweiz). Welche Klasse, welche Klimananlage, Schlafwagen, Sitz usw. Nur die letzten Zahlen, wie in diesem Beispiel 507-2 ist die fortlaufende Nummer, wobei die letzte Zahl eine Prüfziffer ergibt (diese ist aber auch nicht willkürlich sondern wird aus allen Ziffern errechnet). 
Das erste was wir bei unserem Betrieb gelernt haben, wie diese zu lesen und zu schreiben sind. Und weil ich ein fauler Hund bin und ich am liebsten alles in einer Wurst schreibe, benötige ich dein Textfeld.
Ich hoffe Du kannst mir folgen für was das gut ist

LG
Michael
Antworten Top
#15
Hallo, ich habe einen ähnliches Makro hiergefunden!


Code:
Private Sub TextBox1_Change()
If BoEnter = False Then
        If Len(TextBox1) = 4 Then                                  ' es wurden 4 Zeichen eingegeben
            If InStr(TextBox1, "-") = 0 Then                      ' prüfen ob schon ein Strich eingegeben wurde
                TextBox1 = TextBox1 & "-"                        ' Strich ergänzen
            End If
        ElseIf Len(TextBox1) = 9 Then                              ' eingegebene Zeichenkette ist 9 Zeichen lang
            ' prüfen ob schon 2 Strich eingegeben wurden
            If Len(TextBox1) - Len(Application.Substitute(TextBox1, "-", "")) < 4 Then
                TextBox1 = TextBox1 & "-"                        ' Strich ergänzen
            End IfStrich
        End If
    End If
End Sub
Gruß Klaus

es Grüßt der niederRhein! 17
[-] Folgende(r) 1 Nutzer sagt Danke an Fuzzy62 für diesen Beitrag:
  • Eizi100
Antworten Top
#16
Danke Klaus
Das mit
PHP-Code:
 Dim BoEnter As Boolean 

ist auch genial
Es gibt echt extrem viele Varianten. Dein Code ist auch super. Nur habe ich das Problem dass ich bei den Letzten Stellen dann bei 3 Zeichen einen Strich brauche. 
es sollte so aussehen 5081 2173 507-5.
Aber ich habe hier extrem viele Lösungen für mein Problem bekommen. Macht euch keinen Kopf mehr darüber
Ich werde mich heute damit spielen. Ich will mich bei ALLEN hier im Forum bedanken


LG
Michael
Antworten Top


Gehe zu:


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