VBA过滤条件并循环遍历行

时间:2015-12-02 00:19:41

标签: excel vba filter

我正在阅读许多工作簿,每本工作簿中有超过50,000行。但我只需要某些行的数据。当我在工作簿中时,我试图根据条件进行过滤,然后仅遍历这些行,但它无法正常工作。

ActiveSheet.ShowAllData  'Remove All Filters 
lastrow_ = ws.Range("A" & Rows.Count).End(xlUp).row
ActiveSheet.Range("A2" & lastrow_).AutoFilter Field:=1, Criteria1:="=1" 'Filter on the Criteria

'Set The Range
Set rng = Range("A1:P" & Cells(Rows.Count,"A").End(xlUp).row).SpecialCells(xlCellTypeVisible)

'Loop through the range
For each row in rng
'do stuff

我已经在另一段代码中定义了行。但这不起作用。它不会仅循环应用于过滤器的行。有什么建议?谢谢!!!

1 个答案:

答案 0 :(得分:0)

由于a->m_im = 3;可能会产生不连续的范围,因此您需要循环AutoFilterAreas,就像这样

Ranges