Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Die Zeilen mit Wert in Spalte C als CSV-Datei speichern

Gruppe

TextExport

Problem

Nur die Zeilen, die einen Wert in Spalte C beinhalten, sollen in einer Semikolonseparierten CSV-Datei gespeichert werden.

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.

StandardModule: Modul1

Sub SaveAsCSV()
   Dim iRow As Integer, iCol As Integer, iRowL As Integer, iColL As Integer
   Dim sTxt As String, sSep As String, sFile As String
   iRowL = Cells(Rows.Count, 1).End(xlUp).Row
   iColL = Cells(1, 256).End(xlToLeft).Column
   sFile = Application.DefaultFilePath & "\test_csv.csv"
   sSep = ";"
   Close
   Open sFile For Output As #1
   For iRow = 1 To iRowL
      If Not IsEmpty(Cells(iRow, 3)) Then
         For iCol = 1 To iColL
            sTxt = sTxt & Cells(iRow, iCol).Value & sSep
         Next iCol
         sTxt = Left(sTxt, Len(sTxt) - 1)
         Print #1, sTxt
         sTxt = ""
      End If
   Next iRow
   Close
   MsgBox "Datei wurde angelegt:" & vbLf & sFile
End Sub