Registriert seit: 14.08.2017
Version(en): 10
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
Registriert seit: 21.08.2022
Version(en): 2016
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
Registriert seit: 14.08.2017
Version(en): 10
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

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/123456Hoffe ich konnte es verständlich erklären.
Lg Primo
Registriert seit: 21.12.2017
Version(en): MS 365 Family (6 User x 5 Geräte für jeden) Insider-Beta
=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
Registriert seit: 05.09.2019
Version(en): Office 365
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:1 Nutzer sagt Danke an UweD für diesen Beitrag 28
• Primo Centurio
26865
Nicht registrierter Gast
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
Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:1 Nutzer sagt Danke an Gast für diesen Beitrag 28
• Primo Centurio
Registriert seit: 14.08.2017
Version(en): 10
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

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