wie kann eine Zeichenkette s="xaxxbxxxcxdx" in ein Datenfeld v=Array(a,b,c,d) umgewandelt werden? "x" ist der Separator und a,b,c,d Variabeln. Im Beispiel soll LBound(v)=0 und UBound(v)=3 sein. Danke im Voraus für eure Hilfe
Gruß, Alifa
Sub Extrahieren()
Dim strS As String
Dim arrDaten
Dim arrZiel()
Dim intZaehler As Integer
Dim intZiel As Integer
strS = "xaxxbxxxcxdx"
arrDaten = Split(strS, "x")
For intZiel = LBound(arrDaten) To UBound(arrDaten)
If arrDaten(intZiel) "" Then
ReDim Preserve arrZiel(0 To intZaehler)
arrZiel(intZaehler) = arrDaten(intZiel)
intZaehler = intZaehler + 1
End If
Next intZiel
End Sub
Option Explicit
Public Sub test()
Dim objRegEx As Object, objMatch As Object
Dim strText As String
Dim lngIndex As Long
strText = "xaxxbxxxcxdx"
Set objRegEx = CreateObject(Class:="vbscript.regexp")
With objRegEx
.Global = True
.IgnoreCase = True
.MultiLine = False
.Pattern = "[^x]"
Set objMatch = .Execute(strText)
End With
For lngIndex = 0 To objMatch.Count - 1
Debug.Print objMatch(lngIndex)
Next
Set objRegEx = Nothing
Set objMatch = Nothing
End Sub
VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel
Code erstellt und getestet in Office 12
Function compSplit(Bezug, Optional ByVal TrennZ)
compSplit = Split(WorksheetFunction.Trim(Join(Split(Bezug, TrennZ))))
End Function
Die anderen, universelleren UDFs sind im Archiv zu finden: