将已过滤的Excelsheet复制到VBA中的多个数组中

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

目前这是我的代码(未经过滤的工作表):

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

任何提示或线索如何做到这一点?

有时候我思考的不是很好。 检查隐藏的行给了我答案! 这个伎俩!

  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 

你应该这样做:

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

而你有一个范围转换为数组!