Я создал книгу 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
Спасибо!