如何在excel工作簿所有工作表中运行宏

网友投稿 1638 2022-10-19

如何在excel工作簿所有工作表中运行宏

在文件夹中所有文件上运行宏,或者在Excel工作簿中所有工作表上运行宏,这可能是一种非常好的Excel自动化方案。例如处理类似的数据工作簿文件并想要提取数据或转换该工作簿。下面给出了适用这种情况的一些VBA程序,这些程序代码整理自analystcave.com,供有兴趣的朋友参考。

在文件夹内所有文件中运行宏

代码如下:

‘本程序来自于analystcave.com Sub RunOnAllFilesInFolder() Dim folderName As String Dim eApp As Excel.Application Dim fileName As String Dim wb As Workbook Dim ws As Worksheet Dim currWs As Worksheet Dim currWb As Workbook Dim fDialog As Object Set fDialog =Application.FileDialog(msoFileDialogFolderPicker) Set currWb =ActiveWorkbook Set currWs = ActiveSheet ‘选择存储所有文件的文件夹 fDialog.Title = “选择文件夹” fDialog.InitialFileName =currWb.Path If fDialog.Show = -1 Then folderName =fDialog.SelectedItems(1) End If ‘创建一个单独的不可见的Excel处理进程 Set eApp = NewExcel.Application eApp.Visible = False ‘搜索文件夹中的所有文件[使用你的格式例如*.xlsx来代替*.*] fileName = Dir(folderName& “\*.*”) Do While fileName<> “” ‘更新状态栏来指示进度 Application.StatusBar= “正在处理” & folderName & “\” & fileName Set wb =eApp.Workbooks.Open(folderName & “\” & fileName) ‘… ‘在这里放置你的代码 ‘… wb.CloseSaveChanges:=False ‘关闭打开的工作簿 Debug.Print “已处理 “& folderName & “\” & fileName fileName = Dir() Loop eApp.Quit Set eApp = Nothing ‘清除状态栏并通知宏已完成 Application.StatusBar =”” MsgBox “在所有工作簿中都完成了宏执行” End Sub

这段代码完成下列操作:

1.在当前工作簿路径中打开“选择文件”对话框,要求选择一个用于存储所有文件的文件夹。

2.打开一个单独的Excel进程(应用程序),然后逐个打开每个文件。

如何在excel工作簿所有工作表中运行宏

3.使用要在每个打开的工作簿上运行的代码替换“在这里放置你的代码”部分。

4.每个打开的工作簿在关闭时不会保存所作的修改。

在子文件夹内所有文件中运行宏

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:wps表格怎么把重要数字隐藏用星号显示?
下一篇:简易甘特图
相关文章