Die TextToColumns-Methode ist eines der nützlichsten Werkzeuge in Excel VBA, mit dem Sie den Text in einer Zelle basierend auf bestimmten Trennzeichen in mehrere Spalten aufteilen können.
Die Verwendung dieser Methode kann jedoch schwierig sein, insbesondere wenn eine große Datenmenge oder eine große Anzahl von Trennzeichen vorhanden ist. In solchen Fällen ist der Parameter FieldInfo unverzichtbar.
Mit dem Parameter FieldInfo können Sie explizit angeben, wie der Text in einer Zelle in Spalten aufgeteilt wird. Es nimmt ein Array von Werten an, wobei jedes Element den Datentyp der Spalte und ihre Formatierung angibt. Sie können beispielsweise angeben, dass die erste Spalte Datumsangaben enthält, die zweite Spalte Zahlen usw.
Im VBA-Code könnte die Verwendung von TextToColumns FieldInfo etwa so aussehen:
Range("A1").TextToColumns Destination:=Range("A1"), _
DataType:=xlDelimited, _
TextQualifier:=xlDoppelQuote, _
Fortlaufender Begrenzer: = Wahr, _
Tabulator: = Falsch, _
Semikolon: = Falsch, _
Komma: = Wahr, _
Leerzeichen: = Falsch, _
Andere: = Falsch, _
Anderes Zeichen: = ",", _
Feldinfo:=Array(Array(1, 1), Array (2, 1), Array (3, 1))
Excel VBA Textspalten Feldinfo
Метод Textspalten принимает два аргумента: Ziel и Datentypen. Аргумент Ziel gibt den Zellenbereich an, in dem die Trennung durchgeführt werden soll, und das Argument DataType gibt den Datentyp an, der auf geteilte Werte angewendet werden soll.
Optionales drittes Argument FieldInfo ermöglicht die Behandlung komplexer Trennungsfälle, bei denen Werte unterschiedliche Datentypen enthalten oder ein spezielles Trennungsformat angewendet werden muss. Argument FieldInfo ist ein Array mit Informationen zu jedem Teilungsfeld.
Bei Verwendung FieldInfo die Elemente des Arrays werden durch die Reihenfolge der Trennfelder bestimmt. Jedes Element im Array ist eine Zeichenfolge, die die Trennparameter für das entsprechende Feld enthält. Wenn Sie beispielsweise die Werte mit dem Trennzeichen "," trennen und das Datumsformat anwenden möchten, können Sie den folgenden Code verwenden:
Sub SplitValuesWithFieldInfo()Dim rng As RangeDim fieldInfoArray() As VariantSet rng = Range("A1:A10")fieldInfoArray = Array(Array(1, xlColumnDelimt, xlGeneralFormat), _Array(2, xlColumnDelimt, xlTextFormat), _Array(3, xlColumnDelimt, xlTextFormat))rng.TextToColumns , , , fieldInfoArrayEnd Sub
In diesem Beispiel werden die Werte im Zellenbereich A1:A10 in drei Felder unterteilt. Das erste Feld hat ein gemeinsames numerisches Format, das zweite und das dritte Feld ein Textformat. Das Trennzeichen wird als Trennzeichen verwendet.
Methode TextToColumns FieldInfo ist ein leistungsfähiges Werkzeug für die Verarbeitung von Daten in Excel mit VBA. Es ermöglicht Ihnen, genau zu bestimmen, welche Teilungsfelder angewendet werden sollen und welche Formate auf die Teilungsergebnisse angewendet werden sollen.
Erklärung und Beispiele
Die TextToColumns-Methode in VBA für Excel wird verwendet, um Textzeichenfolgen anhand der angegebenen Kriterien in Spalten zu trennen. Es ist wirksam bei der Arbeit mit großen Datenmengen, insbesondere wenn die Datenformatierung wiederholt wird.
Parameter der TextToColumns-Methode :
- Destination : Der Zielbereich, in den die geteilten Daten platziert werden sollen.
- DataType : Der Datentyp zum Definieren des Trennformats.
- TextQualifier : Text wird bei Bedarf maskiert.
- ConsecutiveDelimiter : Ein Zeichen für das Vorhandensein oder Fehlen von aufeinanderfolgenden Trennzeichen.
- Tab : Ein Zeichen für die Verwendung eines Tabulators als Trennzeichen.
- Semikolon : Ein Zeichen für die Verwendung eines Semikolons als Trennzeichen.
- Comma : Ein Zeichen für die Verwendung eines Kommas als Trennzeichen.
- Space : Ein Zeichen für die Verwendung eines Leerzeichens als Trennzeichen.
- Other : Ein Zeichen für die Verwendung eines anderen Zeichens als Trennzeichen.
- OtherChar : Das Zeichen, das als Trennzeichen verwendet wird, wenn der Parameter Other angegeben ist.
- FieldInfo : Ein Array von Feldinformationen, das die Trennung von Daten definiert.
- DecimalSeparator : Ersetzt das Dezimaltrennzeichen.
- ThousandsSeparator : Ersetzt das Tausendstel-Trennzeichen.
- TrailingMinusNumbers : Ein Zeichen für negative Zahlen mit einem Minus auf der linken Seite.
Beispiel für die Verwendung der TextToColumns-Methode:
Sub TextToColumnsExample()Dim rng As RangeSet rng = Range("A1:A5")' Разделение по запятойrng.TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, Comma:=True' Разделение по точке с запятойrng.TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, Semicolon:=True' Разделение по пробелуrng.TextToColumns Destination:=Range("D1"), DataType:=xlDelimited, Space:=True' Пользовательское разделение с символом #rng.TextToColumns Destination:=Range("E1"), DataType:=xlDelimited, Other:=True, OtherChar:="#"End Sub
In diesem Beispiel haben wir einen Datenbereich von A1 bis A5. Wir verwenden die TextToColumns-Methode, um jede Zeile in Spalten aufzuteilen und die Ergebnisse der Trennung in die Spalten B, C, D und E zu setzen. Wir geben verschiedene Arten von Trennzeichen an, z. B. ein Komma, ein Semikolon, ein Leerzeichen und ein benutzerdefiniertes Trennzeichen mit dem Zeichen #.
Daher ist die TextToColumns-Methode in VBA für Excel ein nützliches Werkzeug, um Textdaten in großen Datenmengen automatisch in Spalten aufzuteilen. Es ermöglicht Ihnen, den Prozess der Informationsverarbeitung zu beschleunigen und zu vereinfachen und die Arbeit mit Datentabellen effizienter zu gestalten.
TextToColumns-Methode
TextToColumns-Methode stellt eine Funktion in der Programmiersprache VBA (Visual Basic for Applications) für Excel-Programme dar, mit der Sie die Zeichenfolgendaten in einer Spalte basierend auf den angegebenen Trennzeichen in mehrere Spalten aufteilen können.
Diese Methode wird häufig verwendet, um Daten zu verarbeiten, die unterschiedliche Werte enthalten, die durch Kommas, Tabulatoren oder andere Zeichen getrennt sind. Es ermöglicht Ihnen, den Prozess der Trennung von Daten zu automatisieren und viel Zeit und Aufwand zu sparen.
Die TextToColumns-Methode hat mehrere Parameter, einschließlich:
- Destination: Gibt den Zellenbereich an, in den die empfangenen Werte nach der Trennung platziert werden sollen. Es kann eine einzelne Zelle, mehrere Zellen oder eine ganze Spalte sein.
- DataType: Gibt den Datentyp an, der beim Trennen der Daten verwendet werden soll. Es kann ein Text, ein Datum oder eine Zahl sein.
- TextQualifier: Gibt das Zeichen an, das bei Bedarf zum Qualifizieren von Textdaten verwendet werden soll.
- ConsecutiveDelimiter: legt fest, ob aufeinanderfolgende Trennzeichen in getrennten Werten eingeschlossen oder ignoriert werden sollen.
- Tab: Legt fest, ob das Tabulatorzeichen als Trennzeichen verwendet wird.
Um die TextToColumns-Methode in VBA zu verwenden, müssen Sie den Bereich der Zellen angeben, die geteilt werden sollen, und dann die Trennparameter definieren. Hier ist ein Beispielcode, der die Werte in Spalte A trennt, indem ein Komma als Trennzeichen verwendet wird und die Ergebnisse in Spalte B platziert werden:
Sub SplitData() Range("A:A").TextToColumns Destination:=Range("B1"), _ DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, _ Tab:=False, _ Semicolon:=False, _ Comma:=True, _ Space:=False, _ Other:=False End Sub
In diesem Beispiel teilt die TextToColumns-Methode die Werte in Spalte A in einzelne durch Kommas getrennte Spalten auf und fügt das Ergebnis in Spalte B ein. Die anderen Trennungsoptionen bleiben inaktiv.
Die TextToColumns-Methode ist ein leistungsfähiges Werkzeug für die Verarbeitung von Zeichenfolgendaten in VBA. Es ermöglicht Ihnen, den Prozess der Trennung von Daten zu automatisieren und vereinfacht die Arbeit mit großen Datenmengen erheblich. Wenn Sie diese Methode kennen, können Sie die Verarbeitung und Analyse von Daten in Excel verbessern.
Wie benutzt man FieldInfo
Im Folgenden finden Sie ein Beispiel für die Verwendung der FieldInfo-Methode in Excel VBA:
Sub TextToColumnsWithFieldInfo()Dim rng As RangeDim fieldInfoArr() As VariantDim i As IntegerSet rng = ActiveSheet.Range("A1:A10")ReDim fieldInfoArr(1 To rng.Columns.Count)For i = 1 To rng.Columns.CountfieldInfoArr(i) = Array( _xlTextFormat, _xlGeneralFormat _)Next irng.TextToColumns Destination:=rng, _DataType:=xlDelimited, _TextQualifier:=xlDoubleQuote, _ConsecutiveDelimiter:=False, _Tab:=False, _Semicolon:=False, _Comma:=True, _Space:=False, _Other:=False, _OtherChar:="", _FieldInfo:=fieldInfoArr, _DecimalSeparator:=".", _ThousandsSeparator:=","End Sub
In diesem Beispiel geben wir mit dem Comma:=True-Parameter an, dass das Spaltentrennzeichen ein Komma (",") ist. Dann verwenden wir das Array fieldInfoArr, um die Datentypen für jede Spalte zu definieren. In diesem Fall geben wir an, dass alle Spalten ein gemeinsames Format haben müssen.
Die FieldInfo-Methode akzeptiert ein Array, in dem jedes Element die Einstellungen für jede Spalte darstellt. Jedes Element des Arrays muss ein Array mit zwei Werten sein:
- Der erste Wert gibt das Datenformat für die Spalte an (z. B. xlTextFormat , xlGeneralFormat ).
- Der zweite Wert gibt das Datenformat für numerische Werte an, falls zutreffend.
Mit der FieldInfo-Methode können Sie auch andere Einstellungen angeben, z. B. das Zahlenformat, das Tausendertrennzeichen und das Dezimaltrennzeichen.
Die FieldInfo-Methode ist ein leistungsfähiges Werkzeug in Excel VBA, mit dem Sie das Trennzeichenformat und den Datentyp für jede Spalte definieren können, wenn Sie einen Textbereich trennen. Mit der FieldInfo-Methode können Sie den Prozess der Texttrennung und -verarbeitung fein abstimmen, was bei der Automatisierung routinemäßiger Textverarbeitungsaufgaben in Excel nützlich sein kann.
Beispiele für die Verwendung von FieldInfo
Hier sind einige Beispiele für die Verwendung der FieldInfo-Methode:
1. Trennung von Vor- und Nachnamen
Angenommen, Sie haben eine Spalte, in der die Vor- und Nachnamen im Format "Nachname, Vorname" geschrieben sind. Mit FieldInfo können Sie diese Daten in zwei separate Spalten aufteilen. Zum Beispiel:
Sub SplitName()Dim rng As RangeSet rng = Range("A1:A10") ' указываем диапазон данныхrng.TextToColumns Destination:=rng, DataType:=xlDelimited, _TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Other:=True, OtherChar:=","End Sub
Wenn dieser Code ausgeführt wird, werden die Daten in Spalte A in zwei Spalten aufgeteilt, wobei die erste die Nachnamen und die zweite die Namen enthält.
2. Trennung der Adresse
Ein weiteres Beispiel für die Verwendung von FieldInfo könnte die Aufteilung der Adresse in einzelne Komponenten wie Straße, Stadt, Postleitzahl usw. sein. Zum Beispiel:
Sub SplitAddress()Dim rng As RangeSet rng = Range("A1:A10") ' указываем диапазон данныхrng.TextToColumns Destination:=rng, DataType:=xlDelimited, _TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Other:=True, OtherChar:=","End Sub
Dieser Code teilt die Daten in Spalte A in mehrere Spalten auf, wobei jede Spalte eine separate Adresskomponente enthält.
3. Importieren von Daten aus einer Textdatei
FieldInfo kann auch verwendet werden, um Daten aus einer Textdatei zu importieren. Angenommen, Sie haben eine Textdatei, die Daten im CSV-Format enthält (kommagetrennte Werte). Sie können FieldInfo verwenden, um diese Daten in Excel in Spalten aufzuteilen. Zum Beispiel:
Sub ImportData()With ActiveSheet.QueryTables.Add(Connection:= _"TEXT;C:\путь_к_файлу\файл.csv", Destination:=Range("$A$1")).TextFileParseType = xlDelimited.TextFileCommaDelimiter = True.TextFileOtherDelimiter = "".TextFileColumnDataTypes = Array(1, 1, 1) 'задаем типы данных для каждого столбца.TextFileConsecutiveDelimiter = False.TextFileTabDelimiter = False.TextFileSemicolonDelimiter = False.TextFileSpaceDelimiter = False.Refresh BackgroundQuery:=FalseEnd WithEnd Sub
In diesem Codebeispiel werden die Daten aus der Datei "Datei.csv" wird in das aktuelle Excel-Arbeitsblatt importiert, und jeder Wert wird gemäß dem angegebenen Trennzeichen (in diesem Fall ein Komma) in Spalten aufgeteilt.
Dies sind nur einige Beispiele für die Verwendung der FieldInfo-Methode in Excel VBA. Es bietet verschiedene Möglichkeiten zur Datenverarbeitung und kann je nach den Anforderungen Ihres Projekts anpassbar sein.