分享

对多个Excel工作簿进行批量操作 | VBA实例教程

 gblhp 2015-02-16

除非注明,文章均为 战战如疯 原创,转载请保留链接: http://www./cat4/244.html,VBA交流群273624828。

之前讲过怎样利用OPEN方法从多个Excel中获得数据,今天我们再来看一个类似的例子,这次我们不是从Excel中取数据,而是要对Excel进行一系列的操作,例如我们要对文件夹中的所有Excel的Sheet1的A1输入“战战如疯”,将Sheet2表格删除。之前我们讲过打开工作簿可以用OPEN或GetObject,而遍历用的是Dir方法,今天我们就用Open方法结合Dir遍历来讲下怎么解决批量操作的问题。看下面的代码

Sub test()
Dim mypath, myfile
mypath = ThisWorkbook.Path & "\"
myfile = Dir(mypath & "*.xlsx")
Application.ScreenUpdating = False            '关闭屏幕更新
Application.DisplayAlerts = False                 '关闭提示框
Do While myfile <> ""
If myfile <> ThisWorkbook.Name Then
Workbooks.Open mypath & myfile
With ActiveWorkbook
.Sheets(1).Range("A1") = "战战如疯"           '这两行就是你要对该工作簿进行的操作,换成自己的代码即可使用
.Sheets(2).Delete
End With
ActiveWorkbook.Save
ActiveWorkbook.Close
End If
myfile = Dir
Loop
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

上面的代码利用Dir对当前文件夹下所有xlsx后缀的文件进行遍历,遍历的解释参见“利用Dir遍历某文件夹下的所有文件”然后利用Open方法打开工作簿,剩下的就是对其进行操作。需要注意的是操作对象要声明是哪个工作簿,ActiveWorkbook指的是刚刚打开的工作簿,英文逗号不要少了。

操作很简单,我就不加示例文件了,自己复制代码,随便建几个空白工作簿试下就可以了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多