Herbers Excel-Forum - das Archiv

Zeichenfolge splitten

Bild

Betrifft: Zeichenfolge splitten
von: Rainer

Geschrieben am: 17.07.2007 20:45:33

Hallo VBAler,
wie kann ich mittels VBA z.B. die Zeichenfolge
K1Q01S1K25
splitten, um folgende Einzelstrings zu erhalten?
K1
Q01
S1
K25
mfg Rainer

Bild

Betrifft: AW: Zeichenfolge splitten
von: Renee
Geschrieben am: 17.07.2007 20:58:41
Mazwara Rainer,
Bei Excel gut - VBA gut könntest Du mal die Regeln erklären. Oder sollen hier alle hellsehen ?
Verdacht: Immer wenn von Zahl zu Character gewechselt wird.
Greetz Renee

Bild

Betrifft: AW: Zeichenfolge splitten
von: Rainer
Geschrieben am: 17.07.2007 21:12:50
genau, wenn von Zahl zu Character gewechselt wird!

Bild

Betrifft: AW: Zeichenfolge splitten
von: Peter Feustel

Geschrieben am: 17.07.2007 21:04:31
Hallo Rainer,
das geht z. B. so:


'
'   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 

     Code eingefügt mit Syntaxhighlighter 4.4

Gruß Peter

Bild

Betrifft: AW: Zeichenfolge splitten
von: Rainer
Geschrieben am: 17.07.2007 21:17:13
Danke Peter, funktioniert prima! Danke

Bild

Betrifft: AW: Zeichenfolge splitten
von: Rainer
Geschrieben am: 17.07.2007 21:17:56
Peter, funktioniert prima! Danke

Bild

Betrifft: AW: Zeichenfolge splitten
von: Daniel

Geschrieben am: 17.07.2007 21:11:03
Hi
am besten so:
erstmal ein Trennzeichen einfügen und dann die SPLIT-Funktion verwenden.

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

Bild

Betrifft: AW: Zeichenfolge splitten
von: Rainer
Geschrieben am: 17.07.2007 21:29:05
Danke für die vielen Lösungsvorschläge mfg Rainer

Bild

Betrifft: AW: Zeichenfolge splitten
von: nighty

Geschrieben am: 17.07.2007 21:11:24
hi rainer :-)
eine benutzerdefinierte function
einzufuegen alt+f11/projektexplorer/allgemeines modul
einfuegen/funktion/benutzerdefiniert/Sumtext
=Sumtext(A1;4) waere K25 =Sumtext(A1;1) waere K1

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


Bild

Betrifft: AW: Zeichenfolge splitten
von: nighty
Geschrieben am: 17.07.2007 21:12:51
hi all :-)
ups bis ich fertig war waren schon zig antworten ,vergesst es einfach :-))
gruss nighty

 Bild
Excel-Beispiele zum Thema "Zeichenfolge splitten"
Summe bilden, wenn Kriterium Zeichenfolge Zeichenfolge aufteilen
Filtern einer Zahl aus einer Zeichenfolge Zeichenfolgen in Zahlen nach Textimport
Zeichenfolge korrigieren Zeichenfolge umkehren
Zeichenfolge in Wert wandeln Zeichenfolgen zusammenfassen
Zeichenfolge AAAA bis DDDD listen Eindimensionales Array in ein mehrdimensionales splitten