在Excel中动态选择当前列中的筛选行数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Excel中动态选择当前列中的筛选行数相关的知识,希望对你有一定的参考价值。

Excel中是否有一种方法(可能是VBA)根据当前列选择一组已过滤的行?当前的工作流程通常要求我们一次选择25或100个过滤行的活动列。

我在研究期间遇到的大多数宏似乎都是

  1. 选择表或列中的所有数据
  2. 涉及预定义的列。

我最初认为这将是一个向前发展但仍有困难的前沿宏观。我在研究过程中发现的代码向下移动了一定数量的行,但在计数时似乎没有考虑过滤行。

Sub MoveOneCellDownAFilteredList()
    ActiveCell.Select
    Range(Selection, Selection.Offset(2, 0)).Select
    Do Until ActiveCell.EntireRow.Hidden = False
        ActiveCell.Offset(2, 0).Select
    Loop
End Sub

任何帮助表示赞赏。

答案

以下只是示例(没有准备好使用复制粘贴解决方案),但它们应该为您提供正确的提示来解决您的问题:

要仅选择特定范围的可见单元格,可以使用Range.SpecialCells method

  • 以下仅选择超出范围“A1:A200”的可见单元格 Range("A1:A200").SpecialCells(xlCellTypeVisible).Select
  • 例如,选择活动列的所有可见整行,您可以使用类似的东西 ActiveCell.EntireColumn.SpecialCells(xlCellTypeVisible).EntireRow.Select
  • 或者只选择可见的行并且具有常量值,您可以将它们组合起来 ActiveCell.EntireColumn.SpecialCells(xlCellTypeConstants).SpecialCells(xlCellTypeVisible).EntireRow.Select

阅读documentation以获取SpecialCells的更多选项。


请注意,如果您想在选择旁边做任何进一步的操作,我建议不要使用.Select。我建议阅读How to avoid using Select in Excel VBA以获得良好的实践和更好,更快更可靠的代码。

以上是关于在Excel中动态选择当前列中的筛选行数的主要内容,如果未能解决你的问题,请参考以下文章

excel 输出指定行数据

excel表格中如何从第一行选到最后一行

Excel中_ vlookup,筛选最大值并赋新值,百分位数

如何在 Navicat 复制和粘贴数据

excel表格筛选怎么用

excel怎样对每一列都进行筛选,包括空白列