批量修改多个工作簿_第1页
批量修改多个工作簿_第2页
批量修改多个工作簿_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、批量修改多个工作簿复制链接发表于2011-10-26 15:48:04|只看该作者|倒序浏览批量修改多个工作簿可同时对许多工作簿同时进行修改。有时,我们有许多相同格式的数据文件,如果需要对这些数据文件进行相同格式或内容的修改,这时,如果一个一个打开工作簿再修改的话,那么操作起来即费时,又容易出错。我们可以使用 VBA来解决批量修改多个工作簿的问题。什么?我不懂 VBA其实不难,不懂 VBA也没关 系。如果你不懂 VBA那么只要仔细看,只有一个地方是需要你自己改的。其它的只管照抄就行了。开 始吧!那么如何批量修改多个工作簿呢?我们整理这样的思路:1、能不能让Excel自动打开每一个工作簿,修改完

2、成后,再关闭保存?2、Excel如何知道我要修改的这些工作簿和修改内容呢?3、是同时打开这些工作簿修改呢;还是一次打开一个工作簿后,在每一个工作表中修改保存,然后再 打开别一个修改保存?下面我们提供这样一种批量修改多个工作簿的办法:1、一次提供给Excel所有要修改的工作簿2、每次打开一个工作簿后,在每一个工作表中修改后保存关闭,再打开另一个修改,直至批量修改所 有指定的多个工作簿。批量修改多个工作簿的操作步骤如下:1、 打开VBE代码编辑器,打开的方法参照这两个页面的介绍Excel2003打开代码编辑器、Excel2007 打开代码编辑器2、在右侧的窗口中输入:1. Public strPa

3、th(1000) As Stri ng2. Public strBookName(1000) As Stri ng复制代码这两个数组用来保存要批量修改多个工作簿的路径和文件名称,因为我们在后面要用到,所以采用 Public关键字,定义公用变量。3、接着在右侧的窗口中输入:1. Public Fu nction Ope nExcelFile (n FileNum As In teger) As Stri ng2. ? ? Dim nCou nt As In teger3. ? ? For nCou nt = 1 To nFileNum4. ? ? ?strPath( nCou nt) = App

4、licatio n.GetOpe nFile name(fileFilter:="MicrosoftExcel(*.xls), *.xls,Microsoft Excel(*.xlsx), *.xlsx")5. ? ? ? ? ?If strPath( nCou nt) = "False" The n6.? ? ? ? ? ? MsgBox "Excel文件错误", vbCritical7.? ? ? ? ? ? Exit Fun ction8.? ? ? ? ?End If9.? ? ?Workbooks.Open File nam

5、e:=strPath( nCou nt), UpdateLi nks:=0.ReadO nly:=False10.? ? ?strBookName( nCou nt)=ActiveWorkbook.Name11.? ? Next nCou nt12.End Function复制代码这个函数用来循环打开指定的Excel文件。4、接着在右侧的窗口中输入:1. Sub ModifyFiles()2. ? ? Dim vFileNum As Varia nt3. ? ? vFileNum = Trim(InputBox("请输入打开文件的数量(1-1000):")4. ? ? ?l

6、f vFileNum < 1 Or vFileNum > 1000 Then5. ? ? ? ? ?MsgBox " 数量错误", vbCritical6. ? ? ? ? ?Exit Sub7. ? ? ?E nd If8. ? ? Ope nExcelFile (vFileNum)9. ? ? Dim n Cou ntFile As In teger10. ? ? For nCountFile = 1 To vFileNum11. ? ? ?lf strPath(nCountFile) = "False" Then12. ? ? ? ?

7、?Exit Sub13. ? ? ?End If14. ? ? Next nCountFile15. ? ? Application.DisplayAlerts = False16. ? ? For nCountFile = 1 To vFileNum17. ? ? ?Workbooks(strBookName(nCountFile).Activate18. ? ? ? ? ?Dim sht As Worksheet19. ? ? ? ? ?For Each sht In Worksheets20. ? ? ? ? ? ?'更改这一行代码在所有的工作表内修改。21. ? ? ? ? ?

8、 ? sht.A1 = 122. ? ? ? ? ?Next23. ? ? ?Workbooks(strBookName(nCountFile).CIose True24. ? ? Next nCountFile25. ? ? Application.DisplayAlerts = True26. ? ? MsgBox "完成! ", vbInformation27. End Sub复制代码然后再打开这个函数用来批量修改多个工作簿,一次打开一个工作簿后,在每一个工作表中修改保存、别一个修改保存,直至批量修改所有指定的多个工作簿,完成后提示。其中上面代码的第 23行:1. s

9、ht.A1 = 1复制代码即是修改的代码,这个代码的意思是A1单元格的值是1。其它的代码都不需要管,只需要把你要在每个工作簿的工作表中修改的内容,替换掉这个代码即可。比如B1单元格的内容是"Excel伙伴天下”,可以改成这样:1. sht.B1 = "Excel伙伴天下”复制代码那么所有的工作簿中工作表的B1单元格的内容就被批量修改为“ Excel伙伴天下”。5、 将光标定位在你已经替换好的要批量修改多个工作簿的代码处,按F5键,运行程序。Excel提示你要一次修改多少个文件,然后依次打开这些文件,如果你打开的文件数量和输入的数量相等,Excel就开始批量修改多个工作簿;否则 Excel退出,什么也不做。6、 批量修改多个工作簿完成后,Excel给出完成提示,指定的文件即完成指量修改。注意:代码中的汉字如果复制到VBA代码编辑器中是乱码,那么在对应代码处手工输入中文,这样在代码运行时,你可以看到Excel给出的提示。批量修改多个工作簿的问题关于上面批量修改多个工作簿代码,如果我要一次修改1000文件,我不是要打开1000次文件,这也是挺累人的?另外,如果我要修改的文件超过1000个呢?还有,从C5:C1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论