excel学习库

excel表格_excel函数公式大全_execl从入门到精通

使用VBA一键瞬间合并多个EXCEL工作簿,省时省力又省心

最近一位同学让我付费给他写一段VBA代码,功能就是合并同一文件夹下的所有工作簿的第一个工作表到同一个工作簿中去,我大概花了二十多分钟将功能基本写出来了,又花了点时间研究优化代码,最后大功告成。 合并工作簿的功能应该是日常工作场景用的比较多的,这里干货君将代码贡献出来,有需要的同学可以直接复制粘贴使用。 代码如下: Sub merge_workbooks()Dim str As StringDim wb As Workbookspath = InputBox("请输入需要合并工作簿的文件路径,比如文件在D盘的a文件夹下,则输入D:\a")str = Dir(spath & "\*.xls*")Application.DisplayAlerts = FalseFor i = 1 To 200Set wb = Workbooks.Open(spath & "\" & str)wb.Sheets(1).Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = Split(str, ".")(0)wb.Closestr = DirIf str = "" ThenExit ForEnd IfNextThisWorkbook.Sheets(1).SelectMsgBox ("恭喜!工作簿已经成功合并!")Application.DisplayAlerts = TrueEnd Sub 代码的具体使用方法如下: 1、首先新建一个工作簿,打开“开发工具”选项卡下的“visual basic”工具。2、在visual basic编辑工具里选择一个工作表,再点击插入,然后点击“模块”。3、在模块编辑栏里将代码粘贴进去,需要运行代码就按键盘的F5即可另外有几点需要强调下。 1、代码只能合并多张工作簿下的第一张工作表的文件,如果一张工作簿有多张工作表,则默认只会合并第一张工作表。 2、一次只能合并同一后缀名的文件,比如只能同时合并xls后缀或者xlsx后缀的文件,若同一文件夹下既有.xls文件又有.xlsx文件,则代码无法正常运行。因为xls文件和xlsx的工作表行数不一致。 喜欢的同学记得加个关注点个收藏[紫薇别走]

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年8月    »
1234
567891011
12131415161718
19202122232425
262728293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接