了解更多,观看视频
1、准备工作
打开Excel后新建一个工作簿,将sheet1工作表标签重命名为"控制面板",删除sheet2、sheet3保存,在"控制面板"的A1至A36单元格内依次输入"七⑴、七⑵、七⑶、七⑷、七⑸、七⑹、七⑺、七⑻、七⑼、七⑽、七⑾、七⑿、八⑴、八⑵、八⑶、八⑷、八⑸、八⑹、八⑺、八⑻、八⑼、八⑽、八⑾、八⑿、九⑴、九⑵、九⑶、九⑷、九⑸、九⑹、九⑺、九⑻、九⑼、九⑽、九⑾、九⑿",将作为新插入的工作表标签名称。
2、批量创建工作表
右击"控制面板"工作表标签,在弹出的快捷菜单中选择"查看代码"命令,打开VBA窗口,将下面的代码复制到其中即可。
Sub CreateSheet()
' 创建多个指定名称的工作表,工作表名称必须放在sheet1的第一列
Dim k As Integer, ShuMu As Integer, Obsht As Worksheet
ShuMu = 36 '要创建的工作表数量,可根据需要修改
Set Obsht = Sheets(1)
For k = 1 To ShuMu
Worksheets.Add , Worksheets(ThisWorkbook.Worksheets.Count)
ActiveSheet.Name = Obsht.Cells(k, 1)
' 根据sheet1的第一列中数据重命名工作表名称
Next
Set Obsht = nothing
End Sub
将光标置于将代码中,按F5键将自动创建36个工作表,并且工作表标签名称依次从七⑴一直到九⑿。
3、如何控制工作表的显示与隐藏
⑴下面通过录制一段宏来了解VBA如何控制工作表的显示与隐藏:在"开发工具"选项卡"代码"组中单击"录制宏"按钮,弹出"录制新宏"对话框,指定宏名和保存位置,单击"确定"按钮。
⑵选择七⑴至七⑿工作表标签,右击,在弹出的快捷菜单中选择"隐藏"命令,这时12张工作表被隐藏了,在"开发工具"选项卡"代码"组中单击"停止录制"按钮,进入VBA窗口,发现多了一个"模块",选中其中的"模块1"有下面一段代码:
Sub 宏1()
Sheets(Array("七⑴", "七⑵", "七⑶", "七⑷", "七⑸", "七⑹", "七⑺", "七⑻", "七⑼", "七⑽", "七⑾", "七⑿")). Select
Sheets("七⑿").Activate
ActiveWindow.SelectedSheets.Visible = False
End Sub
上面代码就三行:
第一行就是选中七⑴至七⑿12个工作表;第二行是"七⑿"工作表为活动工作表;第三行就是将所有选中的工作的Visible 属性设置为False,此时工作表就被隐藏不可见了,如果设置为True就以显示了。但是直接修改Visible 属性设置为True会发生如下错误:
发生错误的原因是隐藏的工作表无法选中,自然无法将Visible 属性设置为True。我们要在此基础上对代码进行修改优化。
4、代码修改与优化
将宏1代码修改如下:
Sub 宏1()
Dim i As Integer, s
s = Array("七⑴", "七⑵", "七⑶", "七⑷", "七⑸", "七⑹", "七⑺", "七⑻", "七⑼", "七⑽", "七⑾", "七⑿")
For i = 0 To 11
Worksheets(s(i)).Visible = True
Next
End Sub
代码第一行:定义两个变量一个整型变量i和变体型变量s;
代码第二行:将常量数组赋值给变体型变量s;数组下标从0开始,即s(0)表示"七⑴",依次类推s(11)表示"七⑿",而Worksheets(s(0))就指"七⑴"工作表,依次类推Worksheets(s(11))就指"七⑿"工作表。
代码第三至五行:For-Next循环,i从0至11即将从"七⑴"至"七⑿"工作表的Visible 属性设置为True,从而显示它们。
5、新问题新矛盾
每次要显示或隐藏工作表都要进入VBA窗口,还要根据实际情况手动修改Visible 属性,或为True或为False,更不方便。
⑴插入命令按钮,将宏指定给该按钮,或者双击命令按钮,将代码复制。
选中"控制面板"工作表,在"开发工具"选项卡"控件"组中单击"插入"按钮,选择"命令按钮"类型,然后按下鼠标左键拖曳画出一个"CommandButton1"按钮,右击该按钮,在弹出的快捷菜单中选择"属性"命令,在"属性"面板中将名称修改为"CmdQi",将Caption修改为"隐藏七年级班级表",如下图:
⑵双击该按钮,进入VBA窗口,并有下图显示
将下面的代码复制粘贴到两行中间得到下图:
核心代码就是中间选中的条件判断区域,根据按钮"CmdQi"的Caption属性来判断,要设置显示或隐藏工作表,如果是"隐藏七年级班级表",则要隐藏工作表,要将所有范围内的工作表的Visible属性设置为False,同时"CmdQi"的Caption属性要修改为"显示七年级班级表"。如果是"显示七年级班级表",则要显示工作表,要将所有范围内的工作表的Visible属性设置为True,同时"CmdQi"的Caption属性要修改为"隐藏七年级班级表"。这里引入了一个布尔变量blnLook很好的解决了这个问题。
6、注意:
如果"开发工具"选项卡没有显示,单击"文件"→"选项"命令,打开"Excel 选项"对话框,在"自定义功能区"选项卡右侧勾选"开发工具"后单击"确定"按钮,如下图: