如何运用excel中的vba批量新建多个sheet工作表

2025-11-17 21:51:29

1、因为要使用vba,所以excel保存的格式最好为.xlsm,而不是.xlsx。

可以新建一个.xlsx的文件,然后另存为.xlsm的文件,来启用宏,也就是vba。

如何运用excel中的vba批量新建多个sheet工作表

2、打开新建的.xlsm文件,在数据源表中将表名填写好。

这里使用了中国的几大神山作为例子。

如何运用excel中的vba批量新建多个sheet工作表

3、点开发工具--visual basic,或者直接用快捷键 Alt+F11,进入vba编辑器。

如何运用excel中的vba批量新建多个sheet工作表

4、vba,即宏命令是在模块中进行编辑的,所以需要新建一个模块,右键点击microsoft excel 对象,在弹出的菜单中选择插入--模块。

如何运用excel中的vba批量新建多个sheet工作表

5、双击“模块1”,将以下代码复制进去,可以看一下注释,改动相应的参数灵活运用。

Sub cresheet()

' 批量新建多个sheet表,新建一个cresheet的宏

Dim a As Integer               '定义a变量

a = 2                                '初始值,从第二行开始,可以更改

Set st = Worksheets("神山")       ' 表初始值,定位源数据表,可以更改

Do While st.Cells(a, "A") <> ""   ' 设定循环条件,从神山表中的A2开始,如果数据不为空,执行该循环

On Error Resume Next            ' 若表名不存在,忽略代码引起的运行错误

If Worksheets(st.Cells(a, "A").Value) Is Nothing Then '判断是否存在对应的工作表

Worksheets.Add after:=Worksheets(Worksheets.Count)      '永远将新表加入到最后一个工作表之后

ActiveSheet.Name = st.Cells(a, "A").Value             '新的工作表为当前活动的工作,将工作表的名称更改为神山表中对应单元格的名字。

End If

a = a + 1   '行号加1,继续新增下一个

Loop

End Sub

'结束宏

如何运用excel中的vba批量新建多个sheet工作表

6、直接点击运行按钮,完成工作表的新增。

可以看到新表新增成功。

如何运用excel中的vba批量新建多个sheet工作表

如何运用excel中的vba批量新建多个sheet工作表

7、为方便以后快捷使用,也可以通过插入一个按钮,选中之前的宏,这样就把按钮和新增表格的宏关联起来,以后只要更改数据源,在直接点击按钮即可。

如何运用excel中的vba批量新建多个sheet工作表

如何运用excel中的vba批量新建多个sheet工作表

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢