将已过滤的Excel工作表复制到VBA中的多个数组中

时间:2015-04-08 12:23:24

标签: excel vba excel-vba multidimensional-array filter

我已经在这里阅读了一些关于SpecialCells(xlCellTypeVisible)的内容,但我没有设法将其纳入代码中。 我想将带有多个列和行的过滤Excel工作表复制到一个数组中,而不使用新工作表来复制它。

目前这是我的代码(对于未经过滤的表格):

    For i = 1 To LastRow
        For j = 1 To 9
        strArray(i, j) = Cells(i, j).Value2
        Next j
    Next i

任何提示或线索怎么做?

2 个答案:

答案 0 :(得分:1)

有时我的思维不太好。检查隐藏的行给了我答案!这就行了!

    k = 1
For i = 1 To LastRow
    For j = 1 To 9
    If Sheets("Feuil2").Rows(i).Hidden = False Then
    strArray(k, j) = Cells(i, j).Value2
    Else
    End If
    Next j
    If Sheets("Feuil2").Rows(i).Hidden = False Then
    k = k + 1
    Else
    End If
Next i

答案 1 :(得分:0)

你应该这样做:

strArray= Sheets(Sheet_name).AutoFilter.Range.Value

您已将范围转换为数组!