2017-07-27 58 views
1

只需要在自動過濾範圍內遍歷行(意圖獲取行索引)?如何遍歷Excel VBA中自動過濾工作表中的行?

我想這BLK:

For Each ele In rng 
    RowInd = ele.Rows.Address 
    RowNum = Split(RowInd, "$")(2) 
Next ele 

這個迭代在RNG所有單元格。但我不需要這個。我需要在該範圍內的每一行中遍歷任意一個單元格(稱爲第2列或第1列中的任何單元格)。

+0

是否要過濾過濾範圍? – Moosli

回答

0

我會用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 
+0

這就像一個魅力!謝謝Moosil和Mrig! \米/ – Ravikumar

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更改爲所需的列號。