需要在自动筛选范围内仅迭代行(意图是获取行索引)吗?
我试过这个blk:
For Each ele In rng
RowInd = ele.Rows.Address
RowNum = Split(RowInd, "$")(2)
Next ele
这会迭代rng中的所有单元格。但我不需要这个。我需要在该范围内的每一行中迭代任何一个单元格(比如第2列或第1列中的任何单元格)。
答案 0 :(得分:1)
而不是
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
更改为所需的列号。
答案 1 :(得分:0)
我会用tempRng来做这件事。
首先你需要像Mirg那样做,并给tempRng你想要循环的列。
你应该这样做的循环。
For Each ele In tempRng.SpecialCells(xlCellTypeVisible)
所以你将循环过滤范围。
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