Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
992to996
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
992to996
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

CSV Export

CSV Export
09.07.2008 21:56:00
bully
Hallo,
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


5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CSV Export
09.07.2008 22:45:00
Ramses
Hallo
Probier mal anstelle von
strSep = ";"
und
If Trim(Replace(strTxt, strSep, "")) > "" Then Print #1, strTxt
diese Variante
strSep = """;"""
If Trim(Replace(strTxt, strSep, "")) > "" Then Print #1, """" & strTxt & """"
Gruss Rainer

AW: CSV Export
10.07.2008 10:29:00
bully
Hallo Rainer,
danke für deine Antwort. StrSep = ";" zu ersetzen habe ich auch bereits versucht, bin aber nicht zum Ziel gekommen. Ich bin natürlich nicht auf die Idee gekommen gleich vier zusätzliche Anführungszeichen zu setzen, mit bloss zweien hats halt nicht funktioniert!
If Trim(Replace(strTxt, strSep, "")) > "" Then Print #1, """" & strTxt & """"
Kann ich so nicht verwenden. Er ergänzt nach dem zweiten & ein Semikolon und gibt dann die Fehlermeldung "Fehler beim kompilieren: Typkennzeichen entspricht nicht deklariertem Datentyp." Da muss irgenwo noch ein Haken sein. Weisst du wo?

Anzeige
AW: CSV Export
10.07.2008 11:09:00
bully
Hallo Rainer,
die Definition von strTxT konnte ich selbst mit zwei Anführungszeichen ergänzen nun funktioniert es korrekt, bis auf die erste Zelle pro Zeile. Dort habe ich ein Anführungszeichen zuviel. Wenn ich die CSV-Datei in Excel öffne, wird der Wert der jeweils ersten Zelle pro Zeile foldendermassen ausgegeben:
Zellwert 1"
Öffne ich die CSV-Datei im Text-Editor sehen die Werte für die erste Zelle pro Zeile so aus:
""Zellwert 1";
Wie und wo kann ich das korrigieren?
Gruss bully

AW: CSV Export
10.07.2008 22:36:00
Ramses
Hallo
Dann lass doch einfach das Anführungszeichen weg
If Trim(Replace(strTxt, strSep, "")) > "" Then Print #1, strTxt
Gruss Rainer

Anzeige
AW: CSV Export
11.07.2008 13:21:25
bully
Hallo Rainer,
so funktionierts!
Danke für deine Hilfe.
Gruss bully

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige