Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
568to572
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
568to572
568to572
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

String aufspalten

String aufspalten
15.02.2005 17:53:51
Andy
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

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: String aufspalten
bst
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

AW: String aufspalten
bst
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

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige