【发布时间】:2017-03-16 17:04:42
【问题描述】:
我有一个项目不断发展壮大。我在最后一点,它没有循环。我不明白为什么。我在它们自己的宏中拥有这些元素,并且它们完美无缺,直到我尝试将它们组合成一个运行它们的超级宏。这个想法是“主”工作簿 (XLSM) 将运行自己的更新,然后打开同一文件夹中的所有其他 XLSM 文件并运行他们的更新,将数据推送到其他 XLSX 文件。现在每个 XLSM 文件都运行一个可以完美运行的宏 子 EndofDay () 调用步骤 1 调用第 2 步 结束子 我对 SuperMacro 使用了相同的“Do while”结构,它打开了其他书籍并称它们为“EndofDay”。它通过了几个 XLSM 文件,然后在 MyFiles = Dir 上出现错误而停止。以下语法应该运行主更新和一个其他代码字符串,然后打开文件夹中的所有其他 XLSM 文件。为什么在this下的level下它突然在这个level下不行了。
Sub SuperMacroEOD_Trans()
Dim MyFiles As String
Call EndofDayTransfer 'Do this Workbook Transfer first then:
'Step 2: Specify a target folder/directory.
MyFiles = Dir("C:\Users\ME\Desktop\QA VBA Project\*.xlsm")
'Dont try to open this workbook and do anything.
Do While MyFiles <> "" And MyFiles <> "C:\Users\ME\Desktop\QA VBA Project\Update_Master.xlsm"
'Step 3: Open Workbooks one by one
Workbooks.Open "C:\Users\ME\Desktop\QA VBA Project\" & MyFiles
Call EndofDayTransfer 'Call same macro you ran and run in the other workbooks (they contain it).
ActiveWorkbook.Close SaveChanges:=True
'Step 4: Next File in the folder/Directory
Loop
MyFiles = Dir <------------Gets stuck here or editor turns it yellow.
End Sub
【问题讨论】: