Da ist wohl was mit der Formatierung schief gelaufen :( Hier nochmal:
Dim Bereich As Object, Zeile As Object, Zelle As Object
Dim strTemp As String
Dim strDateiname As String
Dim strTrennzeichen As String
Dim strMappenpfad As String
Dim blnAnfuehrungszeichen As Boolean
Dim lngMaxSpalte As Long
strMappenpfad = ActiveWorkbook.FullName
strDateiname = InputBox("Bitte den Namen der CSV-Datei angeben.", "CSV-Export", strMappenpfad)
If strDateiname = "" Then Exit Sub
strTrennzeichen = InputBox("Welches Trennzeichen soll verwendet werden?", "CSV-Export", ",")
If strTrennzeichen = "" Then Exit Sub
If MsgBox("Sollen die Werte in Anführungszeichen exportiert werden?", vbQuestion + vbYesNo, "CSV-Export") = vbYes Then
blnAnfuehrungszeichen = True
Else
blnAnfuehrungszeichen = False
End If
Set Bereich = ActiveSheet.UsedRange
Open strDateiname For Output As #1
For Each Zeile In Bereich.Rows
' Hier wird die letzte ausgefüllte Spalte der aktuellen Zeile ermittelt
lngMaxSpalte = Bereich.Cells(Zeile.Row, Columns.Count).End(xlToLeft).Column
For Each Zelle In Zeile.Cells
' Ist die aktuelle Zellennummer kleiner / gleich die letzte ausgefüllte Zelle?
' Wenn ja, dann in csv-Datei schreiben
If Zelle.Column <= lngMaxSpalte Then
If blnAnfuehrungszeichen = True Then
strTemp = strTemp & """" & CStr(Zelle.Text) & """" & strTrennzeichen
Else
strTemp = strTemp & CStr(Zelle.Text) & strTrennzeichen
End If
End If
Next
If Right(strTemp, 1) = strTrennzeichen Then strTemp = Left(strTemp, Len(strTemp) - 1)
Print #1, strTemp
strTemp = ""
Next
Close #1
Set Bereich = Nothing
MsgBox "Export erfolgreich. Datei wurde exportiert nach" & vbCrLf & strDateiname
End Sub
|