VBA – Split-Funktion – Textzeichenfolge in Array aufteilen
In this Article
- VBA Split-Funktion
- Verwenden der Split-Funktion mit einem Trennzeichen
- Verwendung eines Limit-Parameters in einer Split-Funktion
- Verwendung des Compare-Parameters in einer Split-Funktion
- Nicht druckbare Zeichen als Trennzeichen verwenden
- Die Join-Funktion verwenden, um eine Aufteilung rückgängig zu machen
- Die Split-Funktion zum Zählen der Wörter verwenden
- Aufteilung einer Adresse in Arbeitsblattzellen
- Zeichenkette in Arbeitsblattzellen aufteilen
- Erstellen einer neuen Funktion, die das Aufteilen von einem bestimmten Punkt aus ermöglicht
VBA Split-Funktion
Die VBA-Funktion Split teilt eine Textzeichenfolge anhand eines bestimmten Trennzeichens (z. B. Komma, Leerzeichen oder Doppelpunkt) in Teilzeichenfolgen auf. Sie ist einfacher zu verwenden als das Schreiben von Code zur Suche nach den Trennzeichen in der Zeichenfolge und das anschließende Extrahieren der Werte.
Sie kann verwendet werden, wenn Sie eine Zeile aus einer CSV-Datei (Comma-Separated Value) einlesen oder eine Postanschrift haben, die nur in einer Zeile steht, aber in mehreren Zeilen angezeigt werden soll.
Die Syntax lautet:
Split Expression, Delimiter[optional], Limit[optional], Compare[optional]
Die VBA-Funktion Split hat vier Parameter:
- Expression – Die Textkette, die Sie in mehrere Teile aufteilen möchten.
- Delimiter (optional) – Zeichenkette oder nicht druckbares Zeichen. Er definiert das Trennzeichen, das für die Aufteilung verwendet wird. Wenn kein Trennzeichen angegeben ist, wird standardmäßig ein Leerzeichen verwendet.
- Limit (optional) – Anzahl: Legt fest, wie viele Teilungen vorgenommen werden sollen. Ist der Wert leer, werden alle verfügbaren Aufteilungen innerhalb der Zeichenkette vorgenommen. Ist sie auf 1 gesetzt, werden keine Aufteilungen vorgenommen. Grundsätzlich können Sie damit eine bestimmte Anzahl von Werten ab dem Anfang der Zeichenkette abtrennen, z. B. wenn die Zeichenkette sehr lang ist und Sie nur die ersten drei Abtrennungen benötigen.
- Compare (optional) – Wenn Ihr Trennzeichen ein Textzeichen ist, können Sie hier einstellen, ob Groß- und Kleinschreibung beachtet werden soll oder nicht. Die Werte sind vbBinaryCompare (Groß- und Kleinschreibung wird beachtet) und vbTextCompare (Groß- und Kleinschreibung wird nicht beachtet).
Die Split-Funktion gibt immer ein Array zurück.
Einfaches Beispiel für die Split-Funktion
Sub SplitBeispiel()
'Variablen definieren
Dim MeinArray() As String, MeineZeichenkette As String, I As Variant
'Beispielzeichenkette mit Leerzeichen als Trennzeichen
MeineZeichenkette = "Eins Zwei Drei Vier"
'die Funktion Split verwenden, um die Bestandteile der Zeichenkette aufzuteilen
MeinArray = Split(MeineZeichenkette)
'Durch das erstellte Array iterieren, um jeden Wert anzuzeigen
For Each I In MeinArray
MsgBox I
Next I
End Sub
In diesem Beispiel wird kein Trennzeichen angegeben, da alle Wörter ein Leerzeichen zwischen sich haben, so dass das Standardtrennzeichen (Leerzeichen) verwendet werden kann.
Das Array hat keine Dimensionen und ist als String festgelegt. Die Variable I, die in der For-Next-Schleife verwendet wird, muss als Variant dimensioniert werden.
Wenn dieser Code ausgeführt wird, werden vier Meldungsboxen angezeigt und zwar eine für jede der Abtrennungen (z. B. Eins, Zwei, Drei. Vier).
Wenn ein doppeltes Leerzeichen zwischen den Wörtern in der Zeichenkette steht, wird dies als Aufteilung gewertet, auch wenn nichts dazwischen steht. Dies ist möglicherweise nicht das gewünschte Ergebnis.
Sie können dieses Problem beheben, indem Sie die Replace-Funktion verwenden, um alle doppelten Leerzeichen durch ein einfaches Leerzeichen zu ersetzen:
MeineZeichenkette = Replace(MeineZeichenkette, " ", " ")
Ein nachgestelltes oder führendes Leerzeichen kann ebenfalls Probleme verursachen, da es einen leeren Trennstrich erzeugt. Diese sind oft sehr schwer zu erkennen. Sie können diese überflüssigen Leerzeichen mit der Trim-Funktion entfernen:
MeineZeichenkette = Trim(MeineZeichenkette)
Verwenden der Split-Funktion mit einem Trennzeichen
Wir können als Trennzeichen ein Semikolon (;) verwenden. Dies wird häufig in Zeichenketten von E-Mail-Adressen verwendet, um diese zu trennen. Vielleicht haben Sie eine E-Mail erhalten, die an eine Reihe von Kollegen weitergeleitet wurde, und Sie möchten in Ihrem Arbeitsblatt eine Liste der Empfänger sehen. Sie können die E-Mail-Adressen ganz einfach aus den E-Mail-Feldern „An“ oder „Cc“ in Ihren Code kopieren.
Sub SplitNachSemikolonBeispiel()
'Variablen definieren
Dim MeinArray() As String, MeineZeichenkette As String, I As Variant, N As Integer
'Beispielzeichenkette mit Semikolon als Trennzeichen
MeineZeichenkette = "john@myco.com;jane@myco.com;bill@myco.com;james@myco.com"
'Die Funktion Split verwenden, um die Bestandteile der Zeichenkette aufzuteilen
MeinArray = Split(MeineZeichenkette, ";")
'Das Arbeitsblatt leeren
ActiveSheet.UsedRange.Clear
'Durch das Array iterieren
For N = 0 To UBound(MeinArray)
'Jede E-Mail-Adresse in die erste Spalte des Arbeitsblatts einfügen
Range("A" & N + 1).Value = MeinArray(N)
Next N
End Sub
Beachten Sie, dass eine For-Next-Schleife verwendet wird, um durch das Array zu iterieren. Das erste Element im Array beginnt immer bei Null und die Upper-Bound-Funktion wird verwendet, um die maximale Anzahl der Elemente zu ermitteln.
Nachdem Sie diesen Code ausgeführt haben, sieht Ihr Arbeitsblatt wie folgt aus:
Verwendung eines Limit-Parameters in einer Split-Funktion
Mit dem Limit-Parameter kann eine bestimmte Anzahl von Aufteilungen ab dem Anfang der Zeichenfolge vorgenommen werden. Leider können Sie weder eine Startposition noch einen Aufteilungsbereich angeben, so dass die Funktion recht einfach ist. Sie können Ihren eigenen VBA-Code erstellen, um eine Funktion, die dies ermöglicht, zu erstellen.
Sub SplitMitLimitBeispiel()
'Variablen erstellen
Dim MeinArray() As String, MeineZeichenkette As String, I As Variant, N As Integer
'Beispielzeichenkette mit Komma als Trennzeichen
MeineZeichenkette = "Eins,Zwei,Drei,Vier,Fünf,Sechs"
'Die Funktion Split verwenden, um die Bestandteile der Zeichenkette aufzuteilen
MeinArray = Split(MeineZeichenkette, ",", 4)
'Das Arbeitsblatt leeren
ActiveSheet.UsedRange.Clear
'Durch das Array iterieren
For N = 0 To UBound(MeinArray)
'Jedes Teilungsergebnis in die erste Spalte des Arbeitsblatts einfügen
Range("A" & N + 1).Value = MeinArray(N)
Next N
End Sub
Nachdem Sie diesen Code ausgeführt haben, sieht Ihr Arbeitsblatt wie folgt aus:
Nur die ersten drei abgetrennten Werte werden separat angezeigt. Die späteren drei Werte werden als eine lange Zeichenkette angezeigt und werden nicht aufgeteilt.
Wenn Sie einen Grenzwert wählen, der größer als die Anzahl der Trennzeichen innerhalb einer Zeichenkette ist, führt es nicht zu einem Fehler. Die Zeichenkette wird in alle ihre Bestandteile zerlegt, als ob der Grenzwert nicht angegeben worden wäre.
Verwendung des Compare-Parameters in einer Split-Funktion
Der Compare-Parameter legt fest, ob bei den Trennzeichen zwischen Groß- und Kleinschreibung unterschieden wird oder nicht. Dies gilt nicht, wenn die Trennzeichen Kommas, Semikolons oder Doppelpunkte sind.
Hinweis: Stattdessen können Sie Option Compare Text immer am Anfang Ihres Moduls platzieren, um die Groß- und Kleinschreibung im gesamten Modul zu ignorieren.
Sub SplitMitCompareBeispiel()
'Variablen erstellen
Dim MeinArray() As String, MeineZeichenkette As String, I As Variant, N As Integer
'Beispielzeichenkette mit X als Trennzeichen
MeineZeichenkette = "EinsXTzweiXTdreixVierXFünfxSechs"
'Die Funktion Split verwenden, um die Bestandteile der Zeichenkette aufzuteilen
MeinArray = Split(MeineZeichenkette, "X", , vbBinaryCompare)
'Das Arbeitsblatt leeren
ActiveSheet.UsedRange.Clear
'Durch das Array iterieren
For N = 0 To UBound(MeinArray)
'Jedes Teilungsergebnis in die erste Spalte des Arbeitsblatts einfügen
Range("A" & N + 1).Value = MeinArray(N)
Next N
End Sub
In diesem Beispiel verwendet die zu trennende Zeichenfolge das Zeichen „X“ als Trennzeichen. In dieser Zeichenfolge gibt es jedoch eine Mischung aus Groß- und Kleinbuchstaben. Der Compare-Parameter in der Split-Funktion verwendet ein großgeschriebenes ‚X‘-Zeichen.
Wenn der Compare-Parameter auf vbBinaryCompare eingestellt ist, werden die Kleinbuchstaben ignoriert und Ihr Arbeitsblatt sieht wie folgt aus:
Wenn der Compare-Parameter auf vbTextCompare eingestellt ist, werden die Kleinbuchstaben ‚x‘ bei der Aufteilung verwendet und Ihr Arbeitsblatt sieht wie folgt aus:
Beachten Sie, dass der Wert in Zelle A6 abtrennt wird, weil er ein kleingeschriebenes x-Zeichen enthält. Da bei der Aufteilung nicht zwischen Groß- und Kleinschreibung unterschieden wird, führt jedes Trennzeichen, das Teil einer Teilzeichenkette ist, zu einer Aufteilung.
Dies ist ein wichtiger Punkt, der bei der Verwendung eines Texttrennzeichens und vbTextCompare zu beachten ist. Sie können leicht ein falsches Ergebnis erhalten.
Nicht druckbare Zeichen als Trennzeichen verwenden
Sie können nicht druckbare Zeichen als Trennzeichen wie z. B. einen Wagenrücklauf (einen Zeilenumbruch) verwenden.
Hier verwenden wir vbCr, um einen Wagenrücklauf anzugeben.
Sub SplitNachNichtDruckbarBeispiel()
'Variablen erstellen
Dim MeinArray() As String, MeineZeichenkette As String, I As Variant, N As Integer
'Beispielzeichenkette mit Wagenrücklauf als Trennzeichen
MeineZeichenkette = "Eins" & vbCr & "Zwei" & vbCr & "Drei" & vbCr & "Vier" & vbCr & "Fünf" & vbCr & "Sechs"
'Die Funktion Split verwenden, um die Bestandteile der Zeichenkette aufzuteilen
MeinArray = Split(MeineZeichenkette, vbCr, , vbTextCompare)
'Das Arbeitsblatt leeren
ActiveSheet.UsedRange.Clear
'Durch das Array iterieren
For N = 0 To UBound(MeinArray)
'Jedes Teilungsergebnis in die erste Spalte des Arbeitsblatts einfügen
Range("A" & N + 1).Value = MeinArray(N)
Next N
End Sub
In diesem Beispiel wird eine Zeichenkette mit vbCr (Wagenrücklaufzeichen) als Trennzeichen erstellt.
Wenn dieser Code ausgeführt wird, sieht Ihr Arbeitsblatt wie folgt aus:
Die Join-Funktion verwenden, um eine Aufteilung rückgängig zu machen
Die Join-Funktion fügt alle Elemente eines Arrays wieder zusammen, allerdings unter Verwendung eines angegebenen Trennzeichens. Wenn kein Trennzeichen angegeben ist, wird ein Leerzeichen verwendet.
Sub JoinBeispiel()
'Variablen erstellen
Dim MeinArray() As String, MeineZeichenkette As String, I As Variant, N As Integer
Dim Ziel As String
'Beispielzeichenkette mit Komma als Trennzeichen
MeineZeichenkette = "Eins,Zwei,Drei,Vier,Fünf,Sechs"
'MeineZeichenkette in Zelle A1 platzieren
Range("A1").Value = MeineZeichenkette
'Die Funktion Split verwenden, um die Bestandteile der Zeichenkette aufzuteilen
MeinArray = Split(MeineZeichenkette, ",")
'Die Join-Funktion verwenden, um die ursprüngliche Zeichenkette mit einem Semikolon als Trennzeichen wiederherzustellen
Ziel = Join(MeinArray,";")
'Die Ergebniszeichenkette in Zelle A2 platzieren
Range("A2").Value = Ziel
End Sub
Dieser Code teilt eine Zeichenkette mit Komma-Trennzeichen in ein Array auf und fügt es mit Semikolon-Trennzeichen wieder zusammen.
Nachdem Sie diesen Code ausgeführt haben, sieht Ihr Arbeitsblatt wie folgt aus:
Zelle A1 enthält die ursprüngliche Zeichenfolge mit Komma-Trennzeichen und Zelle A2 enthält die neue mit Semikolon-Trennzeichen zusammengefügte Zeichenfolge.
Die Split-Funktion zum Zählen der Wörter verwenden
Wenn man bedenkt, dass eine String-Variable in Excel-VBA bis zu 2 GB lang sein kann, kann man die Split-Funktion verwenden, um die Wörter in einem Textstück zu zählen. Natürlich macht Microsoft Word das automatisch, aber für eine einfache Textdatei oder einen aus einer anderen Anwendung kopierten Text könnte das nützlich sein.
Sub AnzahlWoerterBeispiel()
'Variablen erstellen
Dim MeinArray() As String, MeineZeichenkette As String
'Beispielzeichenkette mit Leerzeichen als Trennzeichen
MeineZeichenkette = "Eins Zwei Drei Vier Fünf Sechs"
'Alle doppelten Leerzeichen entfernen
MeineZeichenkette = replace(MeineZeichenkette, " ", " ")
'Alle führenden und nachfolgenden Leerzeichen entfernen
MeineZeichenkette = Trim(MeineZeichenkette)
'Die Funktion Split verwenden, um die Bestandteile der Zeichenkette aufzuteilen
MeinArray = Split(MeineZeichenkette)
'Die Anzahl der Wörter mit der Funktion UBound anzeigen
MsgBox "Anzahl der Wörter " & UBound(MeinArray) + 1
End Sub
Eine der Gefahren dieses Wortzählcodes besteht darin, dass er durch doppelte Leerzeichen sowie führende und nachfolgende Leerzeichen gestört wird. Wenn diese vorhanden sind, werden sie als zusätzliche Wörter gezählt, und die Wortzählung wird ungenau sein.
Der Code verwendet die Funktionen Replace und Trim, um diese zusätzlichen Leerzeichen zu entfernen.
In der letzten Codezeile wird die Anzahl der gefundenen Wörter angezeigt, indem die Funktion UBound verwendet wird, um die maximale Elementnummer des Arrays zu ermitteln und diese dann um 1 zu erhöhen, da das erste Array-Element bei Null beginnt.
Aufteilung einer Adresse in Arbeitsblattzellen
Adressen sind oft lange Textstrings mit Komma als Trennzeichen. Es kann gut sein, dass Sie jeden Teil der Adresse in eine eigene Zelle aufteilen möchten.
Sub AdresseBeispiel()
'Variablen erstellen
Dim MeinArray() As String, MeineZeichenkette As String, N As Integer
'Zeichenkette mit Adresse der Microsoft Corporation erstellen
MeineZeichenkette = "Microsoft Corporation, One Microsoft Way, Redmond, WA 98052-6399 USA"
'Die Split-Funktion verwenden, um die Zeichenkette anhand von Komma aufzuteilen
MeinArray = Split(MeineZeichenkette, ",")
'Das Arbeitsblatt leeren
ActiveSheet.UsedRange.Clear
'Durch das Array iterieren
For N = 0 To UBound(MeinArray)
'Jedes Teilungsergebnis in die erste Spalte des Arbeitsblatts einfügen
Range("A" & N + 1).Value = MeinArray(N)
Next N
End Sub
Wenn Sie diesen Code ausführen, wird das Komma als Trennzeichen verwendet, um jede Zeile der Adresse in eine eigene Zelle zu einzutragen:
Wenn Sie nur die Postleitzahl (letztes Array-Element) zurückgeben wollten, könnten Sie diesen Code verwenden:
Sub AdressePostleitzahlBeipiel()
'Variablen erstellen
Dim MeinArray() As String, MeineZeichenkette As String, N As Integer, Temp As String
'Zeichenkette mit Adresse der Microsoft Corporation erstellen
MeineZeichenkette = "Microsoft Corporation, One Microsoft Way, Redmond, WA 98052-6399 USA"
'Die Split-Funktion, um die Zeichenkette durch anhand von Komma aufzuteilen
MeinArray = Split(MeineZeichenkette, ",")
'Das Arbeitsblatt leeren
ActiveSheet.UsedRange.Clear
'Die Postleitzahl in Zelle A1 platzieren
Range("A1").Value = MeinArray(UBound(MeinArray))
End Sub
Dabei wird nur das letzte Element des Arrays verwendet, das mit der Funktion UBound gefunden wird.
Andererseits möchten Sie vielleicht alle Zeilen in einer Zelle sehen, damit sie auf ein Adressetikett gedruckt werden können:
Sub AdresseBeispiel()
'Variablen erstellen
Dim MeinArray() As String, MeineZeichenkette As String, N As Integer, Temp As String
'Zeichenkette mit Adresse der Microsoft Corporation erstellen
MeineZeichenkette = "Microsoft Corporation, One Microsoft Way, Redmond, WA 98052-6399 USA"
'Die Split-Funktion verwenden, um die Zeichenkette anhand von Komma aufzuteilen
MeinArray = Split(MeineZeichenkette, ",")
'Das Arbeitsblatt leeren
ActiveSheet.UsedRange.Clear
'Durch das Array iterieren
For N = 0 To UBound(MeinArray)
'Jedes Array-Element plus ein Zeilenvorschubzeichen in eine Zeichenkette einfügen
Temp = Temp & MeinArray(N) & vbLf
Next N
'Die Zeichenkette in das Arbeitsblatt einfügen
Range("A1") = Temp
End Sub
Dieses Beispiel funktioniert auf die gleiche Weise wie das vorherige mit dem Unterschied, dass es eine temporäre Zeichenkette mit allen Array-Elementen erstellt, aber nach jedem Element ein Zeilenumbruchzeichen einfügt.
Das Arbeitsblatt sieht nach Ausführung des Codes wie folgt aus:
Zeichenkette in Arbeitsblattzellen aufteilen
Sie können das Split-Array mit nur einem Befehl in Arbeitsblattzellen kopieren:
Sub InBereichKopieren()
'Variablen erstellen
Dim MeinArray() As String, MeineZeichenkette As String
'Beispielzeichenkette mit Leerzeichen als Trennzeichen
MeineZeichenkette = "Eins,Zwei,Drei,Vier,Fünf,Sechs"
'Die Funktion Split verwenden, um die Bestandteile der Zeichenkette aufzuteilen
MeinArray = Split(MeineZeichenkette, ",")
'Das Array in das Arbeitsblatt hineinkopieren
Range("A1:A" & UBound(MeinArray) + 1).Value = WorksheetFunction.Transpose(MeinArray)
End Sub
Wenn dieser Code ausgeführt wurde, sieht Ihr Arbeitsblatt wie folgt aus:
Erstellen einer neuen Funktion, die das Aufteilen von einem bestimmten Punkt aus ermöglicht
Mit dem Limit-Parameter in der Split-Funktion können Sie nur eine Obergrenze angeben, an der die Aufteilung enden soll. Sie beginnt immer am Anfang der Zeichenkette.
Es wäre sehr nützlich, eine ähnliche Funktion zu haben, bei der Sie den Anfangspunkt der Aufteilung innerhalb der Zeichenkette und die Anzahl der Aufteilungen, die Sie von diesem Punkt an sehen wollen, angeben können. Es werden auch nur die Splits extrahiert, die Sie im Array angegeben haben, anstatt einen riesigen String-Wert als letztes Element im Array zu haben.
Sie können selbst eine Funktion (SplitSlicer genannt) in VBA erstellen, um dies zu tun:
Function SplitSlicer(Ziel As String, Tz As String, Start As Integer, N As Integer)
'Array-Variable erstellen
Dim MeinArray() As String
'Die Aufteilung mit Hilfe der Anfangsvariable unter Verwendung des Trennzeichens erfassen
MeinArray = Split(Ziel, Tz, Start)
'Prüfen, ob der Anfangsparameter größer als die Anzahl der Splits ist. Dies kann zu Problemen führen
If Start > UBound(MeinArray) + 1 Then
'Fehler anzeigen und die Funktion beenden
MsgBox "Anfangsparameter ist größer als die Anzahl der verfügbaren Splits"
SplitSlicer = MeinArray
Exit Function
End If
'Das letzte Array-Element in die Zeichenkette einfügen
Ziel = MeinArray(UBound(MeinArray))
'Die Zeichenkette mit N als Limit aufteilen
MeinArray = Split(Ziel, Tz, N)
'Prüfen, ob die obere Grenze größer als Null ist, da der Code das letzte Element entfernt
If UBound(MeinArray) > 0 Then
'ReDim verwenden, um das letzte Element des Arrays zu entfernen
ReDim Preserve MeinArray(UBound(MeinArray) - 1)
End If
'Das neue Array zurückgeben
SplitSlicer = MeinArray
End Function
Diese Funktion wird mit vier Parametern erstellt:
- Ziel – Zeichenkette: Diese ist die Eingabezeichenkette, die Sie aufteilen möchten
- Tz – Zeichenkette oder nicht druckbares Zeichen. Dies ist das Trennzeichen, das Sie verwenden (z.B. Komma, Doppelpunkt)
- Start – Zahl: Diese ist der Startpunkt Ihrer Aufteilungen
- N – Zahl: Dies ist die Anzahl der Aufteilungen, die Sie innerhalb Ihres Abschnitts durchführen möchten
Keiner dieser Parameter ist optional oder hat Standardwerte, aber Sie können das in den Code für die Funktion einarbeiten, wenn Sie sie weiter ausbauen möchten.
Die Funktion verwendet die Split-Funktion, um ein Array zu erstellen, wobei der Start-Parameter als Grenze dient. Das bedeutet, dass die Array-Elemente die Aufteilungen bis zum Start-Parameter enthalten, aber der Rest der Zeichenkette ist das letzte Element und wird nicht aufgeteilt.
Das letzte Element im Array wird mit der Funktion UBound in eine Zeichenkette zurück übertragen, um festzustellen, um welches Element es sich handelt. Die Zeichenkette wird dann erneut in das Array geteilt, wobei N als Limit-Variable verwendet wird. Das bedeutet, dass die Zeichenkette bis zur Position N aufgeteilt wird, danach bildet der Rest der Zeichenkette das letzte Element des Arrays.
Die ReDim-Anweisung wird verwendet, um das letzte Element zu entfernen, da wir nur die spezifischen Elemente im Array behalten wollen. Beachten Sie, dass der Preserve-Parameter verwendet wird, da sonst alle Daten im Array verloren gehen.
Das neue Array wird dann an den Code zurückgegeben, aus dem es aufgerufen wurde.
Beachten Sie, dass der Code „fehlergesichert“ ist. Benutzer werden oft seltsame Dinge tun, die Sie nicht bedacht haben. Wenn sie zum Beispiel versuchen, die Funktion mit einem Start- oder N-Parameter zu verwenden, der größer als die verfügbare Anzahl der Aufteilungen in der Zeichenkette ist, wird die Funktion wahrscheinlich fehlschlagen.
Es ist Code enthalten, um den Start-Wert zu überprüfen und um sicherzustellen, dass ein Element vorhanden ist, das entfernt werden kann, wenn die ReDim-Anweisung auf das Array angewendet wird.
Hier ist der Code zum Testen der Funktion:
Sub TestSplitSlicer()
'Variablen erstellen
Dim MeinArray() As String, MeineZeichenkette As String
'Eine Beispielzeichenkette mit Kommatrennzeichen definieren
MeineZeichenkette = "Eins,Zwei,Drei,Vier,Fünf,Sechs,Sieben,Acht,Neun,Zehn"
'Die Funktion Splitslicer verwenden, um ein neues Array zu definieren
MeinArray = SplitSlicer(MeineZeichenkette, ",", 4, 3)
'Das aktuelle Blatt leeren
ActiveSheet.UsedRange.Clear
'Das Array in das Arbeitsblatt hineinkopieren
Range("A1:A" & UBound(MeinArray) + 1).Value = WorksheetFunction.Transpose(MeinArray)
End Sub
Führen Sie diesen Code aus, und Ihr Arbeitsblatt wird wie folgt aussehen: