#vba #csv
Вопрос:
Я использую приведенное ниже, чтобы экспортировать весь рабочий лист в csv. Этот csv-файл затем отправляется через SFTP. Тем не менее, он продолжает создавать csv-файлы с многочисленными пустыми строками внизу, которые вызывают проблемы на принимающей стороне. Как мне убедиться, что в csv нет этих пустых строк?
Sub ExportCSVTIS()
'Export TISUpload tab as CSV
Application.ScreenUpdating = False
Dim wbkExport As Workbook
Dim shtToExport As Worksheet
Set shtToExport = ThisWorkbook.Worksheets("TISUpload") 'Sheet to export as CSV
Set wbkExport = Application.Workbooks.Add
shtToExport.Copy Before:=wbkExport.Worksheets(wbkExport.Worksheets.Count)
Application.DisplayAlerts = False
wbkExport.SaveAs Filename:="C:UsersdanDesktopAutoUploadsUpload_" amp; Format(Now(), "YYYYMMDD_hhmm") amp; ".csv", FileFormat:=xlCSV
Application.DisplayAlerts = True
wbkExport.Close SaveChanges:=False
Application.ScreenUpdating = True
End Sub
Ответ №1:
Существует множество решений для поиска последней непустой ячейки. Это быстрое и простое решение:
Dim r As Range
Dim c As Variant
Dim MaxRow As Long
Set r = ActiveSheet.UsedRange
For Each c In r
If LenB(Trim(c)) > 0 Then
If c.Row > MaxRow Then MaxRow = c.Row
End If
Next
r.Resize(MaxRow).Copy Destination:=wbkExport.Sheets(1).Range("A1")
Комментарии:
1. Спасибо!! Идеальный ответ.