只需要在自動過濾範圍內遍歷行(意圖獲取行索引)?如何遍歷Excel VBA中自動過濾工作表中的行?
我想這BLK:
For Each ele In rng
RowInd = ele.Rows.Address
RowNum = Split(RowInd, "$")(2)
Next ele
這個迭代在RNG所有單元格。但我不需要這個。我需要在該範圍內的每一行中遍歷任意一個單元格(稱爲第2列或第1列中的任何單元格)。
只需要在自動過濾範圍內遍歷行(意圖獲取行索引)?如何遍歷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
這就像一個魅力!謝謝Moosil和Mrig! \米/ – Ravikumar
代替
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
更改爲所需的列號。
是否要過濾過濾範圍? – Moosli