找回密码
 立即注册
搜索
热搜: Excel discuz
查看: 2161|回复: 0

Excel如何批量创建工作簿

[复制链接]

482

主题

7万

元宝

75万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
750848
发表于 2020-3-26 20:37:24 | 显示全部楼层 |阅读模式
今天和大家分享的技巧是:根据指定名称,批量创建Excel工作簿。
举个例子,如下图,A列是创建工作簿的名称,需要在该工作薄所在的文件夹内批量创建相关名称的Excel工作薄。
Excel如何批量创建工作簿-1.jpg
今天和大家分享的方法,依然还是VBA代码。
Alt+F11组合键,打开VBE界面,在代码窗口中输入以下内容:
  1. Sub newbooks()

  2.     Dim i&, p$, temp$

  3.     On Error Resume Next

  4. '忽略代码运行中的错误,避免存在异常名称工作簿等问题时,代码运行中断。

  5.     Application.ScreenUpdating = False

  6.   '关闭屏幕刷新

  7.     p = ThisWorkbook.Path & ""

  8.   '取得当前工作薄所在路径

  9.     For i = 1 To Cells(Rows.Count, 1).End(3).Row

  10.   '循环读取A列数据

  11.         temp = Cells(i, 1) & ".xlsx"

  12.   'temp是完整的含文件后缀的工作薄名称

  13.         With Workbooks.Add

  14.    '新建工作薄

  15.             .SaveAs p & temp

  16. '保存工作薄,p & temp是要保存的文件的名称

  17.             .Close False

  18.      '关闭工作薄

  19.         End With

  20.     Next

  21.     Application.ScreenUpdating = True

  22.   '恢复屏幕刷新

  23. End Sub
复制代码
Excel如何批量创建工作簿-2.png

按一下F5键,就可以在当前工作簿的文件夹里,快速生出一堆工作簿小崽儿,不仅提高工作效率,还非常好玩儿哦。

补充知识点
Application.ScreenUpdating = False
意思是关闭屏幕刷新,如果你不想看到工作薄从创建到关闭的整个画面过程,就使用它;通常,关闭屏幕刷新有助于提高代码的运算效率。
当然,如果你想在某些人面前装13,我代表我自己强烈建议你不要关闭屏幕更新,在旁人惊羡的目光里,让电脑屏幕闪烁的画面衬托你炫酷的小脸蛋吧~~咳咳~说不定可以借机和女同事或者男同胞交流一下友情以外的感情。
然后记得在代码结束前把屏幕刷新恢复:
Application.ScreenUpdating = True

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|五花八门论坛 ( 豫ICP备15031300号-3 )

GMT+8, 2024-4-20 13:07 , Processed in 0.099421 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表