美文网首页
运用excel中的vba批量新建多个sheet工作表

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

作者: snowsoso | 来源:发表于2019-07-15 14:59 被阅读0次
    神山VBA,专注实用的EXCEL

    Excel版本:2013

    Excel应用中,批量处理若是自动执行,不仅仅是摆脱无聊的复制和粘贴,更是效率的提升。

    比如今天的主题:批量新建多个sheet工作表。

    给定了一些内容,需要根据这些内容建立多个sheet工作表,如何使用VBA实现呢?

    1、因为vba需要启用宏,所以excel保存的格式最好为.xlsm,而不是.xlsx,可以新建一个.xlsx的文件,然后另存为.xlsm的文件。

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

    比如图中需要将神山名称制作多个sheet表。

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

    4、右键点击microsoft excel 对象,在弹出的菜单中选择插入--模块。

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

    Sub cresheet()
    
    ' 批量新建多个sheet表,新建一个cresheet的宏
    
    Dim a As Integer, sht2 As Worksheet  '定义变量
    
    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
    
    '结束宏
    

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

    可以看到新表新增成功。

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

    选中宏,进行关联。

    8、更多内容也可以关注我的百度经验链接:

    https://jingyan.baidu.com/article/48b558e3f0cb6b7f39c09a61.html

    相关文章

      网友评论

          本文标题:运用excel中的vba批量新建多个sheet工作表

          本文链接:https://www.haomeiwen.com/subject/vsynkctx.html