亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用VBA循環遍歷過濾列表的最簡單方法?

用VBA循環遍歷過濾列表的最簡單方法?

九州編程 2019-12-03 10:07:05
如果我在Excel中設置了自動過濾器,并且想用VBA代碼遍歷一列中的所有可見數據,那么最簡單的方法是什么?不應包括所有已過濾掉的隱藏行,因此從上到下的簡單范圍無濟于事。有什么好主意嗎?謝謝。
查看完整描述

3 回答

?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

假設A2:A11我的自動過濾器位于,則單元格中的數字為1到10 A1。我現在過濾以僅顯示大于5的數字(即6、7、8、9、10)。


此代碼將只顯示可見的單元格:


Sub SpecialLoop()

    Dim cl As Range, rng As Range


    Set rng = Range("A2:A11")


    For Each cl In rng

        If cl.EntireRow.Hidden = False Then //Use Hidden property to check if filtered or not

            Debug.Print cl

        End If

    Next


End Sub

也許有更好的方法,SpecialCells但是以上方法在Excel 2003中對我有用。


編輯


剛剛找到了更好的方法SpecialCells:


Sub SpecialLoop()

    Dim cl As Range, rng As Range


    Set rng = Range("A2:A11")


    For Each cl In rng.SpecialCells(xlCellTypeVisible)

        Debug.Print cl

    Next cl


End Sub


查看完整回答
反對 回復 2019-12-03
?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

我建議使用OffsetHeaders位于第1行。請參見此示例


Option Explicit


Sub Sample()

    Dim rRange As Range, filRange As Range, Rng as Range

    'Remove any filters

    ActiveSheet.AutoFilterMode = False


    '~~> Set your range

    Set rRange = Sheets("Sheet1").Range("A1:E10")


    With rRange

        '~~> Set your criteria and filter

        .AutoFilter Field:=1, Criteria1:="=1"


        '~~> Filter, offset(to exclude headers)

        Set filRange = .Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow


        Debug.Print filRange.Address


        For Each Rng In filRange

            '~~> Your Code

        Next

    End With


    'Remove any filters

    ActiveSheet.AutoFilterMode = False

End Sub


查看完整回答
反對 回復 2019-12-03
?
楊魅力

TA貢獻1811條經驗 獲得超6個贊

一種方法是向下過濾A1中的數據;


dim Rng as Range

set Rng = Range("A2", Range("A2").End(xlDown)).Cells.SpecialCells(xlCellTypeVisible)

...

for each cell in Rng 

   ...     


查看完整回答
反對 回復 2019-12-03
  • 3 回答
  • 0 關注
  • 1157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號