用窗体复选框控制工作表是否可见

窗体控件在Excel 5中引入,使用窗体控件也能够创建出丰富的用户体验。这篇文章和下篇文章将分别列举一个例子。

控制工作簿中工作表的显示和隐藏是复选框控件的一种典型应用。如下图所示,首先在工作表中放置一个分组框,然后在该分组框中放置三个复选框,将这四个控件的标题分别改为如图所示的文字。

controlvisiblestate1

接下来,设置这三个复选框分别链接至其背后的单元格B4、B5、B6,并设置它们的“颜色与线条”为“自动”,使其覆盖背后的单元格,这样该单元格中的文字就会被遮住。

注意,要想复选框后面的单元格文字不可见,以避免与复选框文本相冲突,须设置该复选框的“颜色与线条”格式为“自动”。

设置控件格式的方法为,在某控件中单击右键,选择“设置控件格式”。在“设置控件格式”对话框(如下图所示)中,选择相应的选项卡,对该控件的格式进行设置。

controlvisiblestate2

在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。

这样,当在工作表中选中某复选框时,该复选框标题所对应的工作表可见,当取消复选框选择时,相应的工作表将隐藏。


提示:您可以在评论中使用HTML标签,且任何与HTML标签相同的符号都会被理解为HTML标签并以相应的格式显示.如果您的评论中有代码,可以使用相应的标签,例如,如果有VB或VBA代码,则可以使用[vb]标签,即[vb]放置的代码[/vb],这样会很清晰地显示代码.

发表评论