Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender Navigationstipps
Inhaltsverzeichnis

Zeichenfolge splitten

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

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeichenfolge splitten
17.07.2007 20:58:41
Renee
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

AW: Zeichenfolge splitten
17.07.2007 21:12:00
Rainer
genau, wenn von Zahl zu Character gewechselt wird!

AW: Zeichenfolge splitten
17.07.2007 21:04:00
Peter
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 


Gruß Peter

Anzeige
AW: Zeichenfolge splitten
17.07.2007 21:17:13
Rainer
Danke Peter, funktioniert prima! Danke

AW: Zeichenfolge splitten
17.07.2007 21:17:56
Rainer
Peter, funktioniert prima! Danke

AW: Zeichenfolge splitten
17.07.2007 21:11:00
Daniel
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

Anzeige
AW: Zeichenfolge splitten
17.07.2007 21:29:00
Rainer
Danke für die vielen Lösungsvorschläge mfg Rainer

AW: Zeichenfolge splitten
17.07.2007 21:11:24
nighty
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


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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)