Ich habe eine Excel-Arbeitsmappe (2010) erstellt, in der Informationen aus verschiedenen CSV-Dateien in ein Format konvertiert werden, das für das Planungsprogramm meines Büros verständlich ist. Mit einem Makro, das ich online gefunden habe, kann ich jedes Blatt der Arbeitsmappe als separate CSV-Datei speichern und importieren.
Das Problem besteht darin, dass viele Zeilen der Arbeitsmappe notwendigerweise keine Informationen enthalten, da jede Zeile einem Zeitblock gewidmet ist, der geplant werden kann oder nicht. Diese mit Nullen gefüllten Zeilen führen dazu, dass das Scheduler-Programm Fehler ausspuckt. Dies ist kein schwerwiegendes Problem, da immer noch "gute" Zeitplaneinträge importiert werden. Dies bedeutet jedoch, dass ich Hunderte von erwarteten Fehlern durchlaufen muss, um tatsächliche Fehler zu finden .
Ich habe mich gefragt, ob es eine Möglichkeit gibt, nur bestimmte Zeilen eines Blatts in CSV zu exportieren - zum Beispiel jede Zeile, in der der Inhalt von Spalte A ungleich Null ist.
Als Referenz ist hier das Makro, mit dem ich momentan die Arbeitsblätter in separate CSV-Dateien umwandle.
Option Explicit
Public Sub WriteCSV()
Dim iFile As Integer
Dim strText As String, strFileName As String
Dim lngCol As Long, lngRow As Long
Dim wks As Worksheet
iFile = FreeFile()
For Each wks In ActiveWorkbook.Worksheets
If wks.Visible = xlSheetVisible Then
strFileName = ActiveWorkbook.Path & "\" & wks.Name & ".csv"
Open strFileName For Output As #iFile
For lngRow = 1 To wks.UsedRange.Rows.Count
For lngCol = 1 To wks.UsedRange.Columns.Count
Print #iFile, wks.Cells(lngRow, lngCol).Text & ",";
Next lngCol
Print #iFile,
Next lngRow
Close #iFile
End If
Next wks
End Sub
Vielen Dank!