excel VBA问题! 我想用使用复选框 复选框 选中时隐藏B-C列 不选中时不隐藏!
方法一
如果是在工作表中使用复选框,右击复选框,在快捷菜单中单击选择“设置控件格式”,打开对话框如下图所示设置:
按Alt+F11打开VBE窗口,插入模块,粘贴如下代码:
Sub 隐藏()
If [L1] = True Then
Columns("B:C").EntireColumn.Hidden = True
Else
Columns("B:C").EntireColumn.Hidden = False
End If
End Sub
再右击复选框单击选择“指定宏”,选定宏“隐藏”。
操作及效果:单击复选框则B:C隐藏或显示。
方法二
如果是在窗体中使用筛选框,则双击窗体上的复选框,出现如下代码框架:
Private Sub CheckBox1_Click()
End Sub
在框架中粘贴如下代码:
If CheckBox1.Value = True Then
Columns("B:C").EntireColumn.Hidden = True
Else
Columns("B:C").EntireColumn.Hidden = False
End If
即变成如下完整代码:
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
Columns("B:C").EntireColumn.Hidden = True
Else
Columns("B:C").EntireColumn.Hidden = False
End If
End Sub
打开窗体,单击窗体上的复选框:
⑴未选中复选框时效果如下图示。
⑵选中复选框时效果如下图示。
仅供参考!
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
Worksheets(1).Columns(2).Hidden = True
Worksheets(1).Columns(3).Hidden = True
Else
Worksheets(1).Columns(2).Hidden = 0
Worksheets(1).Columns(3).Hidden = 0
End If
End Sub