我有一个项目,不断增长,不断增长和增长。我在最后一点,它不循环。我不明白为什么。我有他们自己的宏中的元素,他们完美,直到我试图将它们组合成一个超级宏,运行它们。这个想法是,“主”工作簿(XLSM)将运行自己的更新,然后打开同一文件夹中的所有其他XLSM文件,并运行THEIR更新,将数据推送到其他XLSX文件。现在每个XLSM文件运行,通过 子EndofDay() 呼叫一步完美的作品宏1 呼叫步骤2 结束小组 我用同样的“做,而”结构打开的其他书籍和SuperMacro称自己“一天的结束”。它会通过一些XLSM文件,然后在MyFiles = Dir上出现错误而停止。以下语法应该运行主更新和一个其他代码字符串,然后打开文件夹中的所有其他XLSM文件。为什么它在这个级别下工作时突然不能在这个级别上工作。嵌套的宏不循环
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
移动循环在“MyFiles”下创建一个编译错误并且不运行任何东西。 –
其他地方一定有错误。再次检查文件名和路径。 –
你测试过我的代码吗?您是否用您的实际家庭文件夹替换了“我”? –