Hallo,
ich möchte ein einzelnes Wort(String) aufspliten und in einzelnen variablen speichern. leider finde ich zur splitfunktion immer nur die möglichkeiten, anhand von zeichen wie „,“ oder „;“ bzw. leerzeichen zu spliten. besteht eine möglichkeit, ein wort auch in die einzelnen bestandteile zu zerlegen.
Gruß achim
Hi.
ich möchte ein einzelnes Wort(String) aufspliten und in
einzelnen variablen speichern. leider finde ich zur
splitfunktion immer nur die möglichkeiten, anhand von zeichen
wie „,“ oder „;“ bzw. leerzeichen zu spliten. besteht eine
möglichkeit, ein wort auch in die einzelnen bestandteile zu
zerlegen.
Meinst du dies:
wort = hallo
teil(0) = h
teil(1) = a
…
teil(4) = o??
Gruss,
Seb
Moin, achim,
besteht eine möglichkeit, ein wort auch in die einzelnen
bestandteile zu zerlegen.
mit der Splitfunktion wohl nicht. Wie soll diese neu zu schaffende Funktion denn erkennen, was Bestandteile eines Wortes sind, wenn Du es nicht mal uns verrätst??
Gruß Ralf
ich möchte ein einzelnes Wort(String) aufspliten und in
einzelnen variablen speichern. leider finde ich zur
splitfunktion immer nur die möglichkeiten, anhand von zeichen
wie „,“ oder „;“ bzw. leerzeichen zu spliten. besteht eine
möglichkeit, ein wort auch in die einzelnen bestandteile zu
zerlegen.
Hi Achim,
Option Explicit
Public Teil() As String
'
Sub Test()
Call Split2("Hallo")
MsgBox Teil(1) & Teil(5)
End Sub
'
Sub Split2(Wort As String)
Dim N As Integer
For N = 1 To Len(Wort)
ReDim Preserve Teil(N)
Teil(N) = Mid(Wort, N, 1)
Next N
End Sub
Gruß
REinhard
Hallo, Achim!
Wie meine Vorredner/-schreiber erwähnten: Wie willst Du aufsplitten?
Relativ flexibel könntest Du das so:
Function Split2(pstrText As String, Optional pstrTrennzeichen As String = " !,;.:+-/()\=&""'")
Const cstrProcName = "Split2"
Dim strHlp As String
Dim lngI As Long
'--------------------
On Error GoTo ErrorHandler
strHlp = pstrText
For lngI = 1 To Len(pstrTrennzeichen)
strHlp = Replace(strHlp, Mid$(pstrTrennzeichen, lngI, 1), " ")
Next lngI
' jetzt doppelte Trennzeichen entfernen
Do While InStr(strHlp, " ") \> 0
strHlp = Replace(strHlp, " ", " ")
Loop
' Trennzeichen vorne und hinten entfernen
strHlp = Trim(strHlp)
Split2 = Split(strHlp, " ")
'--------------------
ErrorHandler:
Select Case Err.Number
Case 0
Case Else
MsgBox "Fehler: " & vbTab & Err.Number & "-" & Err.Description & vbCrLf \_
& "Modul:" & vbTab & "Modul1" & vbCrLf \_
& "Funktion:" & vbTab & cstrProcName, vbExclamation + vbOKOnly, "Fehler!"
Resume ErrorHandler
End Select
End Function
Der Funktion kannst Du mehrere mögliche Trennzeichen mitgeben, eine Auswahl siehst Du schon mal im Default-Wert.
Testen kannst Du das z. B. so:
Sub TestSplit2()
Dim strEingabe As String
Dim strTrennzeichen As String
Dim astrAusgabe() As String
Dim lngI As Long
strEingabe = InputBox("Zu zerlegender Text:")
strTrennzeichen = InputBox("Trennzeichen:", , " !,;.:+-/()\=&""'")
astrAusgabe = Split2(strEingabe, strTrennzeichen)
For lngI = 0 To UBound(astrAusgabe)
MsgBox astrAusgabe(lngI)
Next lngI
End Sub
Experimentiere einfach mal rum.
Gruß, Manfred