如何遍历Excel VBA中的自动过滤工作表中的行?
只需要遍历行(意图是获得行索引)在自动过滤范围?
我试过这个blk:
For Each ele In rng RowInd = ele.Rows.Address RowNum = Split(RowInd, "$")(2) Next ele
这在rng中的所有单元格中迭代。 但我不需要这个。 我需要在该范围内的每一行中迭代任何一个单元格(比如第2列或第1列中的任何单元格)。
我会用tempRng做这个。
首先,你必须像Mirg所说的那样做这个事情,并给你想循环的列提供tempRng。
而你应该这样做的循环。
For Each ele In tempRng.SpecialCells(xlCellTypeVisible)
所以你会ony循环过滤范围。
Dim Rng As Range Dim tempRng As Range Set Rng = ActiveSheet.Range("A2:D11") Set tempRng = Rng.Columns(1) For Each ele In tempRng.SpecialCells(xlCellTypeVisible) RowInd = ele.Rows.Address RowNum = Split(RowInd, "$")(2) Next ele
代替
For Each ele In rng
使用
For Each ele In rng.Columns(1).Cells
这将遍历范围的第1列 (第一列)。 如果您的范围是"C1:G10"
则rng.Columns(1).Cells
将循环遍历Column C
, rng.Columns(2).Cells
将遍历Column D
,依此类推。
将1
更改为所需的列号。