mit untenstehendem Code exportiere ich meine Exceltabelle in eine CSV-Datei mit Semikolontrennung. Das funktioniert auch so. Um die Daten in einem externen Programm weiterverarbeiten zu können, müssen die einzelnen Zellwerte noch zwischen Hochkommata stehen ("Wert Zelle A1";"Wert Zelle A2" etc.). Wie muss ich meinen Code anpassen, um die Hochkommata dazu zu schreiben?
Gruss bully
mein Code:
Option Explicit
Sub export7()
Dim strSep As String, strDat As String, _
iCol As Byte, iRow As Integer, _
iR As Integer, iC As Byte, strTxt As String, _
strMldg As String
iRow = ActiveSheet.UsedRange.Rows.Count
iCol = ActiveSheet.UsedRange.Columns.Count
strSep = ";"
DateiName:
strDat = InputBox("Dateiname?", "DateiName", ThisWorkbook.Path & ("\dbmobil_vorgaenge") & ".csv")
If strDat = "" Then Exit Sub
If InStr(strDat, ":\") = 0 Then
strDat = ThisWorkbook.Path & "\" & strDat
End If
If Dir(strDat) <> "" Then
strMldg = MsgBox("Datei bereits vorhanden. Überschreiben?", vbYesNo)
If strMldg = vbNo Then GoTo DateiName
End If
On Error GoTo DateiFehler
Open strDat For Output As #1
For iR = 7 To iRow 'überspringt die sieben ersten Zeilen
strTxt = ""
For iC = 1 To iCol
If (iC >= 1 Or iR < 9) Then
strTxt = strTxt & Cells(iR, iC).Text & strSep
End If
Next iC
While (Right(strTxt, 1) = strSep)
strTxt = Left(strTxt, Len(strTxt) - 1)
Wend
If Trim(Replace(strTxt, strSep, "")) > "" Then Print #1, strTxt
Next iR
Close #1
MsgBox ("Die Datei " & strDat & " wurde angelegt.")
Exit Sub
DateiFehler:
MsgBox ("Fehler in Dateinamen!")
Resume DateiName
End Sub