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.

An der x-ten Stelle ein Sonderzeichen setzen
#1
Hallo zusammen

Ich möchte folgendes umsetzen

Ich habe zum Beispiel folgende Zahl in der ComboBox1 im UserForm1:

123456123456123456123456

Nun möchte ich, dass er mir an 6., 12. und 18. Stelle ein "/" reinsetzt um die Zahlen zu trennen.

Kann mir jemand helfen?

Lg Primo
Antworten Top
#2
Hi,

fragt sich erstens schon mal, wo die Zahl herkommt?

Kennst du

=LINKS(....)
=TEIL(....)
=Rechts(...)

wenn nicht, solltest du diese Funktionen kennenlernen
die kann man auch in Makros verwenden, auf Englisch heissen die  left, mid, right


VG Juvee
Antworten Top
#3
Hallo Juvee

Ja die Funktionen kenne ich.
Im Nachhinein muss ich gestehen, dass ich jetzt beim selber versuchen gemerkt habe, dass ich es ein wenig besser erklären müsste  Confused

Also ich habe ein Userform, mit Hilfe eines Barcodescanners lese ich die Barcodes (welche immer aus 6 Ziffern bestehen) in ComboBox1 ein.
Sobald ich jedoch zwei Barcodes einscanne soll er mir zwischen den Zahlen, welche wie gesagt aus 6 Ziffern bestehen, ein "/" setzen um diese zu trennen.

Somit müsste dann zB beim einlesen von 3 Barcodes die Zahl in ComboBox1 wie folgt aussehen 123456/123456/123456

Hoffe ich konnte es verständlich erklären.

Lg Primo
Antworten Top
#4
=ERSETZEN(ERSETZEN(A1;13;0;"/");7;0;"/") alle Versionen
=TEXTVERKETTEN("/";;TEIL(A1;ZEILE(1:3)*6-5;6)) ab xl2019
=TEXTVERKETTEN("/";;TEIL(A1;SEQUENZ(3;;1;6);6)) ab xl2021

entspr. umzusetzen in VBA
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • Primo Centurio
Antworten Top
#5
Hallo

hier mal ein Beispiel, wenn die Box verlassen wird

Code:
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    With Me.ComboBox1
        Select Case Len(.Value)
        Case 12
            .Value = Left(.Value, 6) & "/" & Mid(.Value, 7, 6)
        Case 18
            .Value = Left(.Value, 6) & "/" & Mid(.Value, 7, 6) & "/" & Mid(.Value, 13, 6)
       
        Case Else
            MsgBox "Längen-Fehler Eingabe"
        End Select
    End With
End Sub


LG UweD
[-] Folgende(r) 1 Nutzer sagt Danke an UweD für diesen Beitrag:
  • Primo Centurio
Antworten Top
#6
Da du dich ohnehin in VBA bewegst, wäre eine VBA-basierte Lösung naheliegend:

Code:
Option Explicit

Function AddSlashes(ByVal myString As String)
Dim myStringNew   As String: myStringNew = String(Len(myString) + Len(myString) \ 6 - 1, "/")
Dim i             As Byte

For i = 0 To Len(myString) \ 6 - 1
   Mid(myStringNew, i + i * 6 + 1, 6) = Mid(myString, i + i * 5 + 1, 6)
Next i

AddSlashes = myStringNew
End Function


Sub test()
msgbox AddSlashes(myString:="123456123456123456123456")
End Sub
Hat Dir mein Beitrag geholfen? Dann hilf auch Du - mit einer Spende an Wikipediadie Tafeln oder aktion-deutschland-hilft.de
[-] Folgende(r) 1 Nutzer sagt Danke an EarlFred für diesen Beitrag:
  • Primo Centurio
Antworten Top
#7
Danke euch allen

Die Lösung von UweD passt perfekt, Danke dir. Wusste nicht, dass es ein Exit für die ComboBoxen gibt.

EarlFred, deine Lösung werde ich in Ruhe nächste Woche testen  Blush

Ich wünsche euch allen ein schönes Wochenende.

LG Primo
Antworten Top


Gehe zu:


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