Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeichenfolge splitten

Forumthread: 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

Anzeige

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
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige