美文网首页上班这点事儿excel的一些小技巧教程VBA For Excel
Excel vba 实例(4) - 根据已有名称,批量新建表格

Excel vba 实例(4) - 根据已有名称,批量新建表格

作者: 永恒君的百宝箱 | 来源:发表于2018-06-25 22:21 被阅读32次

    经常做报表或者是统计、财务等工作的朋友们,可能会时常遇到下面这种情况:

    最终效果是这样:

    VBA代码可以这么写:


    Sub 创建表格()

    Application.ScreenUpdating = False

    r = [a1].CurrentRegion

    For i = 1 To UBound(r)

        With Workbooks.Add

            .SaveAs ThisWorkbook.Path & "/" & r(i, 1) & ".xlsx"

            .Close False

        End With

    Next

    Application.ScreenUpdating = True

    End Sub


    保存后运行效果如下:

    速度的话和电脑配置有些许关系,永恒君的电脑配置稍微有点卡,但是比手工的一个一个新建还是强不少的。

    如果希望不是新建工作簿,而就是在当前的工作簿里新建表格,如下图,

    代码只需要做稍微的改动,红色部分为改动项:


    Sub 创建表格()

    Application.ScreenUpdating = False

    r = [a1].CurrentRegion

    For i = 1 To UBound(r)

        Sheets.Add.Name = r(i, 1)

    Next

    Application.ScreenUpdating = True

    End Sub


    上图是按12月-1月排序,如果要按1-12月份的排序,则上面红色的代码改为即可:

    Sheets.Add(after:=Sheets(Sheets.Count)).Name = r(i, 1)

    是不是很方便呢?

    不少人对VBA代码有抵触心理,其实没有那么复杂,把他看成一个稍微复杂点的函数即可。

    当然如果并不打算深入学习VBA,只是临时使用下,那只要会复制黏贴就好了!

    至于怎么用VBA代码,可以参考之前的文章:

    Excel vba 实例(1) - 批量制作工资表头

    之前也写过一些VBA的实例,可以先保存起来,需要的时候直接拿出来用。

    Excel vba 实例(2) - 批量将工作表拆分为单独文件

    Excel vba 实例(3) - 多个工作簿批量合并

    永恒君把上面实例的文件也分享出来,需要的直接使用也可以。

    后台回复“新建表”即可。


    Excel VBA功能很强大,但是要熟练的运用起来还是有一定的难度,好在永恒君帮大家搜集了几套关于VBA的视频教程,非常的实用。

    需要的话,后台回复“VBA”获取吧~~

    欢迎交流!

    相关文章

      网友评论

        本文标题:Excel vba 实例(4) - 根据已有名称,批量新建表格

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