wie kann ich mittels VBA z.B. die Zeichenfolge
K1Q01S1K25
splitten, um folgende Einzelstrings zu erhalten?
K1
Q01
S1
K25
mfg Rainer
'
' wie kann ich mittels VBA z.B. die Zeichenfolge K1Q01S1K25
' splitten, um folgende Einzelstrings zu erhalten?
'
' K1
' Q01
' S1
' K25
'
Public Sub Aufteilen()
Dim iIndex As Integer
Dim sEingabe As String
Dim lZeile As Long
sEingabe = "K1Q01S1K25"
lZeile = 1
Range("A" & lZeile).Value = Left(sEingabe, 1)
For iIndex = 2 To Len(sEingabe)
If IsNumeric(Mid(sEingabe, iIndex, 1)) Then
Range("A" & lZeile).Value = Range("A" & lZeile).Value & _
Mid(sEingabe, iIndex, 1)
Else
lZeile = lZeile + 1
Range("A" & lZeile).Value = Range("A" & lZeile).Value & _
Mid(sEingabe, iIndex, 1)
End If
Next iIndex
End Sub
Sub String_zerlegen()
Dim str1 As String, str2 As String
Dim strErgebnis() As String
Dim i As Integer
Dim t1 As String, t2 As String
str1 = "K1Q01S1K25"
'--- Schritt 1 Trennzeichen einfügen ---
For i = 1 To Len(str1) - 1
t1 = Mid(str1, i, 1)
t2 = Mid(str1, i + 1, 1)
str2 = str2 & t1
If IsNumeric(t1) And Not IsNumeric(t2) Then str2 = str2 & "|"
Next
str2 = str2 & t2
'--- Schritt 2 String aufsplitten ---
strErgebnis = Split(str2, "|")
'--- Schritt 3 Ergebnis zeigen ---
For i = 0 To UBound(strErgebnis)
Debug.Print strErgebnis(i)
Next
End Sub
Gruß, Daniel
Function Sumtext(Zellen As Range, zaehler1 As Integer) As String
Dim Zelle As Range
Dim zeich1 As Integer
Dim schalter As Boolean
Dim zaehler3 As Integer
ReDim zaehler2(Len([Zellen])) As String
zaehler3 = 1
Application.Volatile
If zaehler1 > Len([Zellen]) Then zaehler1 = Len([Zellen])
For zeich1 = 1 To Len([Zellen])
If Mid([Zellen], zeich1, 1) Like "[A-Z;a-z]" = True Then
zaehler2(zaehler3) = zaehler2(zaehler3) & Mid([Zellen], zeich1, 1)
schalter = True
End If
If schalter = True And Mid([Zellen], zeich1, 1) Like "[A-Z;a-z]" = False Then
zaehler3 = zaehler3 + 1
schalter = False
End If
Next zeich1
schalter = False
zaehler3 = 1
If zaehler1 > Len([Zellen]) Then zaehler1 = Len([Zellen])
For zeich1 = 1 To Len([Zellen])
If Mid([Zellen], zeich1, 1) Like "[0-9]" = True Then
zaehler2(zaehler3) = zaehler2(zaehler3) & Mid([Zellen], zeich1, 1)
schalter = True
End If
If schalter = True And Mid([Zellen], zeich1, 1) Like "[0-9]" = False Then
zaehler3 = zaehler3 + 1
schalter = False
End If
Next zeich1
Sumtext = zaehler2(zaehler1)
End Function