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

Beiträge aus den Excel-Beispielen zum Thema "String aufspalten"