【问题标题】:How do I Loop Through A Sorted Excel Range in VBA in the Order I Sorted It In?如何按排序顺序循环遍历 VBA 中的排序 Excel 范围?
【发布时间】:2015-11-08 09:58:30
【问题描述】:

我在 Excel 2010 中使用 VBA 对过滤后的工作表进行排序。从视觉上看,排序是有效的,但是当我逐步浏览 VBA 中排序后的过滤范围时,似乎该范围仍处于其原始顺序。出于我的目的,这是不希望的。

这是我的循环代码的摘录:

For r = 2 To LastRow
    Set row = ws.Range(r & ":" & r)
    Debug.Print row.Row
Next

【问题讨论】:

  • 如果您在过滤范围内,您不应该逐步检查.SpecialCells(xlCellTypeVisible)吗?
  • 除了 Jeeped 的评论:Excel 仅对可见行进行排序。如果您希望对所有内容进行排序,请删除所有过滤器,重新排序并应用过滤器。
  • 谢谢你——成功了,吉普德。您能否将您的评论提升为答案,以便我可以正确地记下它?

标签: excel vba sorting filter range


【解决方案1】:

使用 autofilter mode=false 清除过滤器然后尝试排序。

【讨论】:

    猜你喜欢
    • 2015-08-15
    • 2020-09-28
    • 2015-08-02
    • 2014-02-22
    • 2017-06-14
    • 1970-01-01
    • 2015-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多