Hallo,
ich habe ein Makro, das ein Tabellenblatt als CSV speichern soll.
Öffne ich die gespeicherte CSV Datei mit dem Editor, stehen in sämtlichen Zeilen Semikolon. Der Grund ist vermutlich, dass in der Ursprungs-Exceldatei Formeln hinterlegt sind.
Wie bekomme ich nun eine CSV-Datei, die keine Semikolon am Ende schreibt?
Folgendes Makro verwende ich:
Sub Vorlaeufer_csv_speichern()
Dim Ausgabepfad As String
Dim Ausgabedatei As String
Dim lngLetzte As Long
Dim lngSpalte As Long
Dim Zeile As String
Dim VollZeile As String
Dim Trennzeichen As String
Dim i As Long
Dim z As Long
Dim d As Long
Dim strBlatt As String
'Bildschirmaktualisierung ausschalten
Application.ScreenUpdating = False
'Ausgabepfad wird festgelegt
Ausgabepfad = "\\192.168.50.9\LogoMate_Transfer\LogoMate\Daten\Manuell\Vorlaeufer\"
'Trennzeichen wird festgelegt
Trennzeichen = ";"
For d = 1 To 5
Select Case d
Case Is = 1
strBlatt = "Vorlaeufer"
End Select
'Ausgabepfad und Dateinamen für Ausgabedatei erstellen
Ausgabedatei = Ausgabepfad & strBlatt & ".csv"
'letzte Zeile des jeweiligen Tabellenblatts ermitteln
lngLetzte = Worksheets(strBlatt).Cells(Rows.Count, 1).End(xlUp).Row
'Falls Ausgabedatei bereits besteht, wird diese gelöscht
If Dir(Ausgabedatei) <> "" Then Kill (Ausgabedatei)
'Datei Öffen zur Ausgabe
Open Ausgabedatei For Output As #1
For z = 1 To lngLetzte
For lngSpalte = 1 To 5
Zeile = Trim(Worksheets(strBlatt).Cells(z, lngSpalte).Text)
Zeile = Replace(Zeile, Trennzeichen, "") 'ggf in Text vorkommendes Trennzeichen wird gelöscht
VollZeile = VollZeile & Zeile & Trennzeichen
Next lngSpalte
'Ausgabe in Datei
VollZeile = Left(VollZeile, Len(VollZeile) - 1) 'Letztes Semicolon abschneiden
Print #1, VollZeile
VollZeile = ""
Next z
Close #1 'Datei schliessen
Next d
'Bildschirmaktualiserung
Application.ScreenUpdating = True
'Abschlussmeldung
MsgBox "Vorläufer CSV gespeichert", 64
End Sub