需要在多个文件上运行该macros

这个macros应该是通过所有的文件夹/子文件夹,find所有的Excel文件,并从特定的单元格中删除空格。

问题是,当我运行它时,它要求重新打开当前的XLS文件,如果我接受,它重新打开,但macros然后停止并消失。

代码中有什么错误? 我想我不应该打开这样的文件,有没有反正更新单元格的值,而不打开它们或打开它们不同呢?

码:

Sub Main() Call RecursiveFolders("C:\Users\Administrador\Desktop\Folder") End Sub Sub RecursiveFolders(ByVal MyPath As String) Dim FileSys As Object Dim objFolder As Object Dim objSubFolder As Object Dim objFile As Object Dim wkbOpen As Workbook Dim book As Excel.Workbook Set FileSys = CreateObject("Scripting.FileSystemObject") Set objFolder = FileSys.GetFolder(MyPath) Application.ScreenUpdating = False For Each objSubFolder In objFolder.SubFolders For Each objFile In objSubFolder.Files Set wkbOpen = Workbooks.Open(Filename:=objFile) '//For each file do that Dim ws As Worksheet Dim tmp For Each ws In Worksheets ws.Range("E6") = Replace(ws.Range("E6"), " ", "", 1, -1) Next wkbOpen.Close savechanges:=True Next Call RecursiveFolders(objSubFolder.Path) Next Application.ScreenUpdating = False End Sub 

我想要点XD

如果你打开与macros的文件,它需要closures它(退出macros)…确保它不打开与macros(或具有相同名称的WB)WB <