Я создал книгу Excel (2010), которая берет информацию из различных файлов CSV и помещает их в формат, понятный для программы планирования моего офиса. Используя макрос, который я нашел в Интернете, я могу сохранить каждый лист книги в виде отдельного файла CSV, готового к импорту.
Проблема состоит в том, что многие строки рабочей книги по необходимости пусты, поскольку каждая строка посвящена блоку времени, который может или не может быть запланирован. Эти заполненные нулями строки приводят к тому, что программа планировщика выдает ошибки. Это не фатальная проблема, так как "хорошие" записи расписания все еще импортируются, но это означает, что мне нужно просмотреть сотни ожидаемых ошибок, чтобы найти реальные ошибки.
Мне было интересно, если бы был способ экспортировать только определенные строки листа в CSV - например, каждая строка, в которой содержимое столбца A отличны от нуля.
Для справки вот макрос, который я сейчас использую, чтобы превратить листы в отдельные файлы CSV.
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
Спасибо!
