", _ ThousandsSeparator:=", ", _ TrailingMinusNumbers:=True End Sub In der obigen Prozedur haben wir alle Parameter ausgefüllt. Viele der Parameter sind jedoch auf "false" oder auf die Standardeinstellung gesetzt und werden nicht benötigt. Im Folgenden Abschnitt wird eine sauberere Version des obigen Verfahrens beschrieben. Sie müssen die Parameternamen verwenden, um anzuzeigen, welche Parameter wir verwenden. Excel vba text ausrichten. Sub TextZuSpalten2() Space:=True Es gibt nur 4 Parameter, die tatsächlich erforderlich sind. Die Daten werden durch ein doppeltes Anführungszeichen begrenzt, aufeinanderfolgende Anführungszeichen werden als eins behandelt und die Daten werden durch ein Leerzeichen getrennt! Für eine noch schnellere Codezeile könnten wir die Parameternamen weglassen, aber dann müssten wir Kommas einfügen, um die Stelle des Parameters zu speichern. Sie müssen nur Informationen bis zum letzten Parameter angeben, den Sie verwenden (in diesem Fall das Leerzeichen, das die Daten trennt und der 8. Parameter ist).
Überschriften werden in Zeile 1 erwartet. VBA - Text zu Spalten - Automate Excel. Hat die Tabelle keine Überschriften, oder sollen anders beschriftete Überschriften erstellt werden, kann das Makro wie folgt angepasst werden. if i = 1 then Print #1, "SpalteA;SpalteB;SpalteC" else end if Zur Vollständigkeit noch der VBA-Code für die Erstellung einer Datei im CSV-Format: Sub CSV_erzeugen() strPath = "C:\Dateien_erstellen\CSV\" 'Speicherpfad eintragen Die vorherigen Beispiele haben zur Demonstation jeweils die ersten drei Spalten in die CSV- oder TXT-Datei übertragen. Sollen mehr Spalten übertragen werden, können die obigen Beispiele entweder manuell angepasst werden, oder über eine weitere Schleife neben der variablen Zeilenzahl auch eine variable Spaltenzahl definiert werden. Am Beispiel der CSV-Erstellung sieht das dann folgendermaßen aus: Sub CSV_erzeugen_Spaltenzahl_variabel() Dim strDateiname As String, strPath As String, strZeile As String Dim i As Long, lngZeile As Long, j As Long, lngSpalte As Long lngSpalte = Cells(1, )(xlToLeft) For j = 1 To lngSpalte If j < lngSpalte Then strZeile = strZeile & Cells(i, j) & ";" Else strZeile = strZeile & Cells(i, j) End If Next j Print #1, strZeile strZeile = "" Die Mustermappe enthält beide Varianten, jeweils für das TXT- und CSV-Format.
Excel Mustermappe: Weiterlesen… Gefällt Ihnen der Beitrag?
Rückgabewert Support und Feedback Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.