Herbers Excel-Forum - das Archiv

String aufspalten

Bild

Betrifft: String aufspalten
von: Andy

Geschrieben am: 15.02.2005 17:53:51
Hey Leute,
ich hab n Problem an dem ich heute schon recht lange ergebnislos herumgegrübelt
hab, vielleicht kann mir hier ja wer helfen:
Ich Hab einen string, der aus einer Reihe von Dateinamen(mit Endungen) besteht,
die durch einen Beistrich und ein Leerzeichen miteinander getrennt sind.
z.B. str = "xyz.txt, abc.txt, stuvw.txt"
um die datein in Excel importieren zu können brauch ich ein Feld von strings das jeweils einen dateinamen enthält. Soweit wars ja auch kein problem am PC mit
Split(string) den string aufzuteilen und mit Left(...) aus jedem string im feld den beistrich rauszulöschen.
Leider bin ich aber gezwungen auf nem Mac zu arbeiten. Und der kennt die
Split-Funktion nicht. Angäblich weil VBA am Mac auf VB5 basiert und unter Windows VB6 verwendet wird.
Hat irgendjemand von euch ein idee wie man den string noch aufspalten könnte?
thx auf jeden fall
Andi
Bild

Betrifft: AW: String aufspalten
von: Jürgen Schaetzke
Geschrieben am: 15.02.2005 18:38:48
Hallo Andi,
hier gibts eine Split Funktion für VB4 / VB 5:
http://www.vbarchiv.net/archiv/tipp_details.php?pid=463
Ciao Jürgen
Bild

Betrifft: AW: String aufspalten
von: bst

Geschrieben am: 15.02.2005 18:46:49
Hallo Andi,
Die VBA-Funktion split gibt's mindestens seit xl2000.
cu, Bernd
--
Sub TrennMich()
Dim s As String, x() As String, i As Integer
s = "xyz.txt, abc.txt, stuvw.txt"
x = Split(s, ", ")
For i = 0 To UBound(x)
Debug.Print i, x(i)
Next
End Sub

Bild

Betrifft: AW: String aufspalten
von: bst

Geschrieben am: 16.02.2005 08:35:58
Morgen,
und Sorry, wer lesen kann ist halt klar im Vorteil :-(
Versuch mal sowas. Keine Ahnung ob's auf einem Mac funktioniert.
Kann im Gegensatz zu oben erwähnten Teil auch Trenner mit mehr als einem Zeichen.
cu, Bernd
--
Option Explicit
Function mySplit(src As String, Optional trenner As String = " ") As String()
Dim i As Integer, pos As Integer
Dim erg() As String
ReDim erg(0)
i = 0
erg(i) = src
pos = InStr(erg(i), trenner)
While pos > 0
ReDim Preserve erg(i + 1)
erg(i + 1) = Mid(erg(i), pos + Len(trenner))
erg(i) = Left(erg(i), pos - 1)
i = i + 1
pos = InStr(erg(i), trenner)
Wend
mySplit = erg
End Function

Sub Test()
Dim i As Integer
Dim s As String
Dim x() As String
s = "1, 2, 3"
x = mySplit(s, ", ")
For i = 0 To UBound(x): Debug.Print i, x(i): Next
s = "vier fünf sechs"
x = mySplit(s)
For i = 0 To UBound(x): Debug.Print i, x(i): Next
End Sub

 Bild
Excel-Beispiele zum Thema "String aufspalten"
Nach Textimport Strings in Zahlen wandeln Textstring in berechenbare Formel umwandeln
Zahlenstring mit Formel auslesen und Fehlermeldung verhindern Wertermittlung in Abhängigkeit eines Zeichens in einem String
Sortierung mit Formel-Leerstrings am Ende Stringeingaben von HHMM und HHMMSS in Zeit wandeln
Aufteilen eines Strings mit Zeilenumbrüchen Aufhebung der Suchstringbegrenzung von 255 Zeichen
Strings, die wie Zahlen aussehen, in Zahlen umwandeln Aus einem String mit Datumsangabe das Jahr auslesen