Begrenzte Text-zu-Spalten in einem Makro (Microsoft Excel)
Eine der praktischsten Funktionen in Excel ist die Funktion „Text in Spalten“, mit der Sie den Zelleninhalt nach den von Ihnen angegebenen Kriterien einfach in einzelne Zellen aufteilen können. Eine Methode zur Verwendung des Features besteht darin, es zu ermöglichen, Zeichen in den Zellen zu erkennen und diese Zeichen zu verwenden, um auszulösen, wo die Aufteilung stattfinden soll. Diese Art der Aufteilung wird als begrenzte Aufteilung bezeichnet.
Möglicherweise fragen Sie sich, wie Sie eine durch Text getrennte Operation in einem Makro ausführen können, das Sie möglicherweise schreiben. Dies ist einfach genug, indem Sie die TextToColumns-Methode für eine von Ihnen eingerichtete Auswahl verwenden. Betrachten Sie das folgende sehr einfache Makro:
Sub ExampleSplit1() Selection.TextToColumns _ Destination:=Range("A2"), _ DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, _ Tab:=True, _ Semicolon:=False, _ Comma:=False, _ Space:=False, _ Other:=True, _ OtherChar:="-" End Sub
Beachten Sie alle Variablen, die Sie für die TextToColumns-Methode festlegen können.
Die meisten dieser Variablen sind nur erforderlich, da dies eine begrenzte Aufteilung ist. Die Variablen legen fest, was von der Methode als Trennzeichen verwendet wird.
Beginnend mit der Tabulatorzeile entsprechen die Variablen direkt den Einstellungen, die Sie in Schritt 2 des Assistenten zum Konvertieren von Text in Spalten vornehmen würden, wenn Sie die Funktion manuell verwenden würden. Sie können Tab, Semikolon, Komma und Leerzeichen entweder auf Wahr oder Falsch setzen, je nachdem, ob Sie dieses Zeichen als Trennzeichen verwenden möchten.
Sie können die Variable Other auch auf True oder False setzen, je nachdem, ob Sie ein „benutzerdefiniertes“ Trennzeichen haben möchten. Wenn Sie den Wert auf True setzen, sollten Sie die Variable OtherChar gleich dem Zeichen setzen, das als Trennzeichen verwendet werden soll.
Wenn Sie die TextToColumns-Methode mehrmals im selben Makro verwenden, müssen Sie bei Aufrufen nach dem ersten nur Variablen ändern, die sich vom vorherigen Aufruf unterscheiden. Angenommen, Sie rufen die Methode zweimal im selben Makro auf und möchten zum ersten Mal, dass sich die Aufteilung auf eine Instanz des Bindestrichzeichens bezieht, zum zweiten Mal auf eine Instanz eines Kleinbuchstaben x . Sie können das Makro folgendermaßen zusammensetzen:
Sub ExampleSplit2() Dim objRange1 As Range Dim objRange2 As Range 'Set up the ranges Set objRange1 = Range("A2:A20") Set objRange2 = Range("A21:A35") 'Do the first parse objRange1.TextToColumns _ Destination:=Range("A2"), _ DataType:=xlDelimited, _ Tab:=False, _ Semicolon:=False, _ Comma:=False, _ Space:=False, _ Other:=True, _ OtherChar:="-" 'Do the second parse objRange2.TextToColumns _ Destination:=Range("A21"), _ DataType:=xlDelimited, _ OtherChar:="x" End Sub
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (8317) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365. Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: