У меня есть таблица со строками, в которых есть ячейки с "" пустым ?! символы, поэтому я пытаюсь сделать следующее, чтобы отфильтровать эти строки
Set tbl = Worksheets("FOR EXPORT").ListObjects("TableName")
'SET AUTOFILTER
tbl.Range.AutoFilter Field:=3, Criteria1:="<>"
Но я получаю всю таблицу, когда делаю следующее
'COPY TABLE RANGE TO ARRAY
tblArr = tbl.Range.Value
'SET FILE OUTPUT
fNum = FreeFile()
Open csvFilePath For Output As #fNum
For i = 1 To UBound(tblArr)
rowArr = Application.Index(tblArr, i, 0)
csvVal = VBA.Join(rowArr, ";")
Print #1, csvVal
Next
а не отфильтрованная таблица, которую я вижу, которая применяется уже к рабочему листу
Весь саб
Sub saveTableToCSV()
Dim tbl As ListObject
Dim csvFilePath As String
Dim fNum As Integer
Dim tblArr As Variant
Dim rowArr
Dim csvVal
Set tbl = Worksheets("FOR EXPORT").ListObjects("TableName")
'SET AUTOFILTER
tbl.Range.AutoFilter Field:=3, Criteria1:="<>"
'SET PATH
csvFilePath = "C:\Users\FatherNick\Desktop\CSVFile.csv"
'COPY TABLE RANGE TO ARRAY
tblArr = tbl.Range.Value
'SET FILE OUTPUT
fNum = FreeFile()
Open csvFilePath For Output As #fNum
For i = 1 To UBound(tblArr)
rowArr = Application.Index(tblArr, i, 0)
csvVal = VBA.Join(rowArr, ";")
Print #1, csvVal
Next
'RESET FILTER
'tbl.AutoFilter.ShowAllData
Close #fNum
Set tblArr = Nothing
Set rowArr = Nothing
Set csvVal = Nothing
End Sub
Как я могу передать Array отфильтрованную таблицу, а не всю таблицу?