ich möchte gerne ein excel-file als csv-exportieren, allerdings möchte ich nur bestimmte spalten exportieren und auch deren spalten-überschrift beeinflussen.
bin für jeden tipp dankbar.
grüße david
Um nur bestimmte Spalten aus einer Excel-Datei als CSV zu exportieren und die Spaltenüberschriften zu beeinflussen, kannst du den folgenden VBA-Code verwenden:
ALT + F11
, um den VBA-Editor zu öffnen.Sub export_selected_Range_and_save_as_CSV()
Dim i As Integer, n As Integer
Dim maxExpCol As Integer
Dim expFolder As String, expFileName As String
Dim myDiv As String, tmpExpText As String, expText As String
maxExpCol = 25
expFolder = "C:\Temp\"
expFileName = "Export.csv"
myDiv = ";"
Dim startRow As Integer, selRow As Integer, selCol As Integer
startRow = 1 ' oder wähle die gewünschte Startzeile
selRow = Range("A65536").End(xlUp).Row
For i = startRow To selRow
tmpExpText = ""
' Hier die zu exportierenden Spalten eintragen
For Each Spaltenarray In Array("B", "C", "D")
StartCol = Range(Spaltenarray & "1").Column
tmpExpText = tmpExpText & Cells(i, StartCol).Text & myDiv
Next Spaltenarray
expText = expText & tmpExpText & vbCrLf
Next i
expFileName = Application.GetSaveAsFilename(InitialFileName:=expFolder & expFileName, _
fileFilter:="CSV Files (*.csv), *.csv", Title:="Exportpfad definieren")
Open expFileName For Output As #1
Print #1, expText
Close #1
MsgBox "Daten exportiert"
End Sub
Fehler: "Maximal zu exportierende Spaltenzahl überschritten"
maxExpCol
anpasst.Fehler: "Dateipfad nicht gefunden"
expFolder
korrekt ist und existiert.Falls du keine VBA-Programmierung nutzen möchtest, kannst du auch die Funktion "Speichern unter" verwenden:
Angenommen, du hast eine Excel-Datei mit den Spalten A bis D, und du möchtest nur die Spalten B, C und D exportieren. Der oben angegebene VBA-Code ermöglicht es dir, diese spezifischen Spalten einfach zu exportieren, indem du das Array in der Schleife anpasst.
Spaltenüberschriften anpassen: Du kannst die ersten Zeilen deines exportierten Textes anpassen, um benutzerdefinierte Spaltenüberschriften zu definieren. Füge einfach eine zusätzliche Zeile vor der Schleife hinzu, die expText
initialisiert.
Automatisierung: Du kannst das Makro so anpassen, dass es automatisch bei jedem Öffnen der Datei ausgeführt wird, um regelmäßig bestimmte Daten zu exportieren.
1. Kann ich auch mehr als drei Spalten exportieren?
Ja, du kannst die Anzahl der Spalten im Array
anpassen, um beliebig viele Spalten zu exportieren.
2. Funktioniert dieser Code in Excel 2016? Ja, der VBA-Code ist mit Excel 2016 und neueren Versionen kompatibel. Achte darauf, die Makros in den Excel-Optionen zu aktivieren.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen