Wenn du in eine Zelle ein oder mehrere Kommata schreibst und diese nicht in Anführungszeichen speicherst kann das CSV-Format nicht mehr funktionieren, weil nicht mehr zwischen Spaltentrennung und Kommas in Zellen unterschieden werden kann...
Du musst dir also die Frage stellen, ob du wirklich ein comma seperated value file erstellen willst oder nicht.
Ansonsten kannst du das Gewünschte einfach so erreichen:
Statt Komma kannst du auch jedes andere Trennzeichen benutzen...
Sub test()
Dim StartCell As Range, EndCell As Range, rng As Range
Dim WB As Workbook, FileName$
FileName = ThisWorkbook.Path & "\test.csv"
'set range
Set StartCell = Cells(1, 1)
Set EndCell = Cells(10, 2)
Set rng = Range(StartCell, EndCell)
'print
MakeTXT rng.Value, FileName, ","
End Sub
Private Sub MakeTXT(AV, p$, Sep$)
Dim R&, C&, I&, TS$, Lines$(), E&, FNum%
E = UBound(AV)
KillFile p
ReDim Lines(E - 1)
For R = 1 To E
TS = AV(R, 1)
For C = 2 To UBound(AV, 2)
TS = TS & Sep & AV(R, C)
Next
Lines(I) = TS
I = I + 1
Next
FNum = FreeFile
Open p For Append As #FNum
For I = 0 To E - 1
Print #FNum, Lines(I)
Next
Close #FNum
End Sub
Private Sub KillFile(p$)
On Error Resume Next
Kill p
End Sub
|