Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1020to1024
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

CSV aber abgeändert

CSV aber abgeändert
11.11.2008 12:37:00
Markus
Hallo,
leider bin ich kein Excel-VBA-Profi.
Ich habe im Archiv das beiliegende Makro gefunden, dass eine CSV-Datei für einen Import schreibt.
Schade, es ist nicht auskommentiert und darum suche nach folgender Korrektur.
Am Schluss des Records wird kein ";" (Semikolon angefügt).
Der Titel-Record soll nicht geschrieben werden.
Als Option währe es schon, wenn man angeben könnte, ob die Felder mit führenden und schliessenden Gänsefüssen geschlossen wird "Text";"234.44";
Besten Dank für ein Muster oder einen Tipp
Markus
https://www.herber.de/bbs/user/56671.xls

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CSV aber abgeändert
11.11.2008 12:50:54
Rudi
Hallo,

Am Schluss des Records wird kein ";" 


das ist auch nicht nötig.
Lösche: strTxt = Left(strTxt, Len(strTxt) - 1)
Gruß
Rudi

AW: CSV aber abgeändert
11.11.2008 12:57:03
Erich
Hallo Markus,
probier mal

Sub export()
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, strDel As String
iRow = ActiveSheet.UsedRange.Rows.Count
iCol = Cells(1, Columns.Count).End(xlToLeft).Column   ' nicht UsedRange
strDel = Chr(34)  ' wenn ohne Gänsefüße: strDel = ""
strSep = ";"
If strSep = "" Then Exit Sub
If strSep = "9" Then
strSep = Chr(9)
Else
strSep = Left(Trim(strSep), 1)
End If
DateiName:
strDat = InputBox("Dateiname?", "DateiName", ThisWorkbook.Path & "\")
If strDat = "" Then Exit Sub
If InStr(strDat, ":\") = 0 Then strDat = ThisWorkbook.Path & "\" & strDat
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 = 2 To iRow               ' ab 2 - ohne Überschrift
strTxt = strDel & Cells(iR, 1) & strDel
For iC = 2 To iCol
strTxt = strTxt & strSep & strDel & Cells(iR, iC) & strDel
Next iC
Print #1, strTxt
Next iR
Close #1
MsgBox ("Die Datei " & strDat & " wurde angelegt.")
Exit Sub
DateiFehler:
MsgBox ("Fehler in Dateinamen!")
Resume DateiName
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: CSV aber abgeändert
11.11.2008 13:59:00
Markus
Danke vielmal!
Funktioniert bestens!
Markus

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige