首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在使用VBA代码过滤表后不使用标头来计数行?

如何在使用VBA代码过滤表后不使用标头来计数行?
EN

Stack Overflow用户
提问于 2018-11-12 13:53:54
回答 1查看 1.5K关注 0票数 0

我在excel文件中有两张表格和两个表格:

工作表1:具有要过滤的数据表的

Sheet 2:具有显示特定筛选器的行数的摘要页。它有一个过滤器控制面板

我在VB上创建了一个代码,并将其分配给一个可单击的按钮,我的筛选表的代码是:

单张(ItemsSheet).Select

代码语言:javascript
代码运行次数:0
运行
复制
ActiveSheet.ListObjects("Table2").Range.AutoFilter Field:=2, Criteria1:="=Menu"

ActiveSheet.ListObjects("Table2").Range.AutoFilter Field:=3, Criteria1:="=Submenu"

ActiveSheet.ListObjects("Table2").Range.AutoFilter Field:=Phase_Column, Criteria1:= _
    Array(Phase, "="), Operator:=xlFilterValues

当我执行此代码时,它会将我重定向到工作表1,并成功地应用筛选器。

问题:

  1. 如何计算Sheet1中的行数
  2. 如何在筛选后显示位于Sheet2中的单元格中的行数?
  3. 如何在不重定向到Sheet1的情况下执行上述代码

图像供您参考:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-12 14:31:29

在我对这个问题做了很多搜索之后。我已经找到了解决办法:

在执行筛选代码后添加以下代码:

代码:

代码语言:javascript
代码运行次数:0
运行
复制
Dim mycount As Long

mycount = Intersect(Columns(1), ActiveSheet.UsedRange).SpecialCells(xlCellTypeVisible).Count - 1

MsgBox mycount

结果:

应用筛选器后,您将获得所有可见的行。

问候

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53263651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档