如何引用button名称,以便VBA知道要隐藏哪些列
我有一个100列的工作表,我想只显示基于点击button(表单控件)的某些列。
有一个matrix的button名称和相应的列应显示在一个单独的工作表。
我想我需要识别被点击的button,使用button名称在参考表中find相应的单元格,然后通过循环每个应该隐藏的列来隐藏列。
例如,如果单击名为“Variances”的button,那么我想引用差异行并显示列1,2,3,4,5,6,16
![显示要隐藏的button名称和列的matrix] https://drive.google.com/open?id=0B-gDxLsmXP_IWmVHZVlCa005a0U
我可以静态编写每个button,但我希望能够添加button,而无需更改VBA代码。 任何帮助,将不胜感激。 谢谢!
- 山姆
下面的图片显示了我的Excel表单的设置。
正如蒂姆·威廉斯(Tim Williams)所build议的那样,这两个button都叫做Handler
Sub Handler() Dim row, column As Integer Dim button As String button = Application.Caller For i = 2 To 3 If Cells(i, 6).Value = button Then row = i End If Next For j = 7 To 8 column = Cells(row, j).Value columns(column).EntireColumn.Hidden = True Next End Sub