【发布时间】:2022-08-07 10:20:51
【问题描述】:
我希望根据名为 (\"Quotes\") 的单元格中的值(介于 1 和 10 之间),使用切换按钮隐藏和取消隐藏列。
我设法在第一次单击时隐藏了所有列,但在第二次单击时它们都回来了,而没有检查 (\"Quotes\") 单元格中的值。
我将如何检查 (\"Quotes\") 单元格中的值,然后仅取消隐藏所需的列。
下面的 VBA 代码隐藏了我想隐藏的列, 但是当切换时将它们全部带回来。
Private Sub ShowHideTemplate_Click()
If ShowHideTemplate.Value Then
Worksheets(\"Sheet1\").Range(\"L:M,Q:R,V:W,AA:AB,AF:AG,AK:AL,AP:AQ,AU:A,AZ:BA,BE:BG,BJ:BL\").EntireColumn.Hidden = False
ShowHideTemplate.Caption = \"Full\"
Else
Worksheets(\"Sheet1\").Range(\"L:M,Q:R,V:W,AA:AB,AF:AG,AK:AL,AP:AQ,AU:AV,AZ:BA,BE:BG,BJ:BL\").EntireColumn.Hidden = True
ShowHideTemplate.Caption = \"Hidden\"
End If
End Sub
我希望取消隐藏功能检查一个名为 (\"Quotes\") 的单元格中是否存在 1 到 10 之间的数字,然后根据该数字取消隐藏列。
IE。
if (\"Quotes\") = \"1\" then only unhide (\"L:M\")
if (\"Quotes\") = \"2\" then unhide (\"L:M,Q:R,BJ:BL\")
if (\"Quotes\") = \"3\" then unhide (\"L:M,Q:R,V:M,BJ:BL\")
if (\"Quotes\") = \"4\" then unhide (\"L:M,Q:R,V:M,AA:AB,BJ:BL\")
if (\"Quotes\") = \"5\" then unhide (\"L:M,Q:R,V:M,AA:AB,AF:AG,BJ:BL\")
if (\"Quotes\") = \"6\" then unhide (\"L:M,Q:R,V:M,AA:AB,AF:AG,AK:AL,BJ:BL\")
if (\"Quotes\") = \"7\" then unhide (\"L:M,Q:R,V:M,AA:AB,AF:AG,AK:AL,AP:AQ,BJ:BL\")
if (\"Quotes\") = \"8\" then unhide (\"L:M,Q:R,V:M,AA:AB,AF:AG,AK:AL,AP:AQ,AU:AV,BJ:BL\")
if (\"Quotes\") = \"9\" then unhide (\"L:M,Q:R,V:M,AA:AB,AF:AG,AK:AL,AP:AQ,AU:AV,AZ:BA,BJ:BL\")
if (\"Quotes\") = \"10\" then unhide (ALL) (\"L:M,Q:R,V:M,AA:AB,AF:AG,AK:AL,AP:AQ,AU:AV,AZ:BA,BJ:BL\")
标签: excel vba togglebutton