【发布时间】:2017-12-22 05:44:20
【问题描述】:
我有一个工作表,其中包含所有经理及其员工的姓名,理想情况下,此工作表的工作方式是左上角有一个下拉菜单,当经理选择他们的姓名时,所有没有的行t 有他们的名字反对,是隐藏的,所以只有他们的团队被显示。
我知道自动过滤并让他们选择他们的名字是最简单的方法,也是一个不错的选择,但我希望有一种方法可以使用 VBA 或公式来做到这一点,以便在何时隐藏行当他们在下拉列表中选择他们的名字时,这不是他们的团队。因为我正在尝试创建一些非常漂亮且看起来不错的东西
我确实尝试过让一个帮助单元格在名称匹配时显示真假,但在这一点上有点卡住了。尝试使用下面的代码,但它似乎实际上并没有做任何事情。带有 TRUE/FALSE 的列在 Col A 中
Sub TEST()
Dim cell As Range
Application.ScreenUpdating = False
Application.EnableEvents = False
For Each cell In Range("A4:A34")
If cell.Value = "FALSE" Then
cell.EntireRow.Hidden = True
Else
cell.EntireRow.Hidden = False
End If
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
任何关于如何在不使用自动过滤器的情况下做到这一点的想法都会很棒
【问题讨论】:
-
Autofilter 是显而易见的解决方案...如果您真的想使用 VBA,那么尝试编写一些代码并在遇到“特定”问题时回复。
-
请阅读常见问题解答以了解本网站的运作方式以及如何提问。您没有表现出任何解决方案的尝试。这不是脚本订购服务。
-
所以是问答而不是 Excel 琐事网站。阅读How to Ask 并花点时间阅读tour。
-
FWIW 没有公式可以隐藏一行。公式是接受输入并产生输出的函数,仅此而已。
-
公式背后的想法是如果名称匹配则返回 True/False 以显示,然后在 VBA 中执行类似 Sub TEST()
Dim cell As Range Application.ScreenUpdating = False Application.EnableEvents = False For Each cell In Range("A4:A34") If cell.Value = "FALSE" Then cell.EntireRow.Hidden = True Else cell.EntireRow.Hidden = False End If Next Application.ScreenUpdating = True Application.EnableEvents = True抱歉没有正确提出问题方式
标签: excel vba excel-formula