Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA - CSV Export
#1
Hallo zusammen,

ich möchte gerne einen CVS Export erstellen.
Das klappt soweit auch alles.

Ich bekomme es nur nicht hin, dass statt meinem geschriebenen Fenster das typische Speicherfenster von Excel geöffnet wird. Heißt, wo man selbst manuell die Ordner durchklicken etc. kann.

Code:
Sub SaveCSV()
    ' Speichert den Inhalt eines Arbeitsblatts als CSV-Datei
    ' mit wählbarem Trennzeichen und Maskierung von Einträgen
    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
   
    strMappenpfad = ActiveWorkbook.FullName
    strMappenpfad = Replace(strMappenpfad, ".xls", ".csv")
    strDateiname = InputBox("Wie soll die CSV-Datei heißen (inkl. Pfad)?", "CSV-Export", _
    strMappenpfad)
   
    If strDateiname = "" Then Exit Sub
   
    strTrennzeichen = "$"
   
    If strTrennzeichen = "" Then Exit Sub
   
    Set Bereich = ThisWorkbook.Worksheets("Form").Range("B3:C38")
   
    Open strDateiname For Output As #1
   
    For Each Zeile In Bereich.Rows
        For Each Zelle In Zeile.Cells
            If InStr(1, Zelle.Text, strTrennzeichen) > 0 Then
                'Zellen, die ein Trennzeichen beinhalten in Anführungsstriche setzen
                strTemp = strTemp & """" & CStr(Zelle.Text) & """" & strTrennzeichen
            Else
                strTemp = strTemp & CStr(Zelle.Text) & strTrennzeichen
            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 "Datei wurde exportiert nach" & vbCrLf & strDateiname
End Sub

Vielen Dank!
Antworten Top
#2
Hallöchen,

hast Du mal oben rechts unsere Suche nach Datei Dialog genutzt? Da findest Du einiges, z.B. auch das:

VBA-Datei-oeffnen-bestimmte-Zellen-kopieren-und-in-Ausgangsdatei-einfuegen
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste