如何使用vba用户窗体使切换功能适用于列?

时间:2018-11-01 19:43:44

标签: excel vba userform togglebutton

然后您将如何分别隐藏/取消隐藏列?从C列到M列。这是我使用切换按钮隐藏/取消隐藏行所使用的内容。

Private Sub togbHAZOP_Click()
If togbHAZOP.Value = True Then
    Sheets("Updated Hours EST").Rows("5:26").EntireRow.Hidden = True
Else
    Sheets("Updated Hours EST").Rows("5:26").EntireRow.Hidden = False
End If

结束子

2 个答案:

答案 0 :(得分:1)

对于每个切换(togC,togB,... togM),它看起来都是这样

Private Sub togC_Click()
    Sheets("Updated Hours EST").Columns("C").Hidden = togC.Value
End If

...

Private Sub togD_Click()
    Sheets("Updated Hours EST").Columns("D").Hidden = togD.Value
End If

...

答案 1 :(得分:1)

您将一个Boolean属性分配给涉及Boolean属性的条件表达式的相对分支中的相反布尔值。换句话说:

If {bool} Then
    foo = True
Else
    foo = False
End If

不需要条件。

Sheets("Updated Hours EST").Rows("5:26").Hidden = togbHAZOP.Value

要切换列的可见性,请使用.Columns代替.Rows,并使用代表列而不是行的范围地址。

Sheets("Updated Hours EST").Columns("C:M").Hidden = togbHAZOP.Value

如果您希望它们“分开”,请将它们分开

Sheets("Updated Hours EST").Columns("C:C").Hidden = toggleForColumnC.Value
Sheets("Updated Hours EST").Columns("D:D").Hidden = toggleForColumnD.Value
Sheets("Updated Hours EST").Columns("E:E").Hidden = toggleForColumnE.Value
...