gpt4 book ai didi

excel - 使用 VBA 循环过滤列表的最简单方法?

转载 作者:行者123 更新时间:2023-12-01 16:33:08 24 4
gpt4 key购买 nike

如果我在 Excel 中设置了自动筛选器,并且想使用 VBA 代码循环遍历一列中的所有可见数据,那么最简单的方法是什么?

不应包含所有已被过滤掉的隐藏行,因此从上到下的普通范围没有帮助。

有什么好主意吗?

最佳答案

假设单元格 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

关于excel - 使用 VBA 循环过滤列表的最简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10849177/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com