用窗体复选框控制工作表是否可见
窗体控件在Excel 5中引入,使用窗体控件也能够创建出丰富的用户体验。这篇文章和下篇文章将分别列举一个例子。
控制工作簿中工作表的显示和隐藏是复选框控件的一种典型应用。如下图所示,首先在工作表中放置一个分组框,然后在该分组框中放置三个复选框,将这四个控件的标题分别改为如图所示的文字。
接下来,设置这三个复选框分别链接至其背后的单元格B4、B5、B6,并设置它们的“颜色与线条”为“自动”,使其覆盖背后的单元格,这样该单元格中的文字就会被遮住。
注意,要想复选框后面的单元格文字不可见,以避免与复选框文本相冲突,须设置该复选框的“颜色与线条”格式为“自动”。
设置控件格式的方法为,在某控件中单击右键,选择“设置控件格式”。在“设置控件格式”对话框(如下图所示)中,选择相应的选项卡,对该控件的格式进行设置。
在VBE中编写的代码如下:
1: Sub SetWorksheetVisibility()
2: Dim ws As Worksheet
3: On Error Resume Next
4: Set ws = ThisWorkbook.Worksheets("控制工作表可视状态")
5: Application.ScreenUpdating = False
6: ThisWorkbook.Worksheets("Sheet1").Visible = ws.Range("B4").Value
7: ThisWorkbook.Worksheets("Sheet2").Visible = ws.Range("B5").Value
8: ThisWorkbook.Worksheets("Sheet3").Visible = ws.Range("B6").Value
9: Application.ScreenUpdating = True
10: End Sub
最后,分别在这三个复选框中单击右键,选择“指定宏”,在“指定宏”对话框分别将宏均指定为SetWorksheetVisibility。
这样,当在工作表中选中某复选框时,该复选框标题所对应的工作表可见,当取消复选框选择时,相应的工作表将隐藏。

发表评论