VBA 初学者爱好者在这里寻求帮助 -
我有一个包含多列的表,其中一列(业务单位)有 4 个可能的条件(KB-L、KB-P、KB-C 和 KB-T)。我想在 Excel 中添加一个按钮,允许用户单击并循环浏览业务单位列中每个值的过滤器。
示例:
第 5 次单击后,整个/完整循环应在下一次单击时重复,从仅显示 KB-L 值开始。
非常感谢论坛可以提供的任何帮助!这是我未来会大量使用的东西,因为我假设这可能是一个适应性非常强的 VBA,将来可以用于许多事情。
我知道如何通过使用一段非常简单的代码来根据特定列中的条件隐藏行,但是我不确定如何循环它,以便在单击每个按钮时它会循环显示 5 种不同的可能性。我希望能够根据我的需要进行调整,但如果有更雄辩的方式来做到这一点,我洗耳恭听。
Sub Cycle_Business_Unit()
For Each cell In Range("I11:I99999")
If cell.Value = "KB-L" Then cell.EntireRow.Hidden = True
Next cell
End Sub
谢谢大家, 德里克
使用 Case 方法扩展您的代码
Dim click_count as Long
Sub Cycle_Business_Unit()
click_count = click_count + 1
If click_count = 6 Then click_count = 1
Range("I11:I99999").EntireRow.Hidden = False
Select Case click_count
Case 1
For Each cell In Range("I11:I99999")
If cell.Value = "KB-L" Then cell.EntireRow.Hidden = True
Next cell
Case 2
For Each cell In Range("I11:I99999")
If cell.Value = "KB-P" Then cell.EntireRow.Hidden = True
Next cell
Case 3
For Each cell In Range("I11:I99999")
If cell.Value = "KB-C" Then cell.EntireRow.Hidden = True
Next cell
Case 4
For Each cell In Range("I11:I99999")
If cell.Value = "KB-T" Then cell.EntireRow.Hidden = True
Next cell
Case 5
'show all or something else
End Select
End Sub