Microsoft Excel

Herbers Excel/VBA-Archiv

Zeichenfolge splitten

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

  

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


  

Betrifft: AW: Zeichenfolge splitten von: Rainer
Geschrieben am: 17.07.2007 21:12:50

genau, wenn von Zahl zu Character gewechselt wird!


  

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


  

Betrifft: AW: Zeichenfolge splitten von: Rainer
Geschrieben am: 17.07.2007 21:17:13

Danke Peter, funktioniert prima! Danke


  

Betrifft: AW: Zeichenfolge splitten von: Rainer
Geschrieben am: 17.07.2007 21:17:56

Peter, funktioniert prima! Danke


  

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


  

Betrifft: AW: Zeichenfolge splitten von: Rainer
Geschrieben am: 17.07.2007 21:29:05

Danke für die vielen Lösungsvorschläge mfg Rainer


  

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




  

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


 

Beiträge aus den Excel-Beispielen zum Thema "Zeichenfolge splitten"