Tôi đã tạo một sổ làm việc Excel (2010) lấy thông tin từ các tệp CSV khác nhau và đặt chúng thành một định dạng có thể hiểu được bằng chương trình lập lịch trình của văn phòng tôi. Sử dụng macro tôi tìm thấy trực tuyến, tôi có thể lưu từng tờ của sổ làm việc dưới dạng tệp CSV riêng biệt, sẵn sàng để nhập.
Vấn đề là nhiều hàng của sổ làm việc là do thông tin cần thiết, vì mỗi hàng được dành cho một khối thời gian có thể hoặc không thể được lên lịch. Các hàng không đầy này làm cho chương trình lập lịch phát sinh lỗi. Đây không phải là một vấn đề nghiêm trọng, vì các mục lịch biểu "tốt" vẫn được nhập, nhưng điều đó có nghĩa là tôi phải lội qua hàng trăm lỗi dự kiến để tìm lỗi thực tế .
Tôi đã tự hỏi liệu có cách nào để chỉ xuất một số hàng nhất định của trang tính sang CSV không - ví dụ: mọi hàng trong đó nội dung của cột A đều khác không.
Để tham khảo, đây là macro tôi hiện đang sử dụng để biến các bảng tính thành các tệp CSV riêng biệt.
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
Cảm ơn!