【发布时间】:2020-01-19 04:32:40
【问题描述】:
在我的主宏中运行的宏会生成我需要复制到另一个 Excel 文件的值。
我的主宏不等待生成完成并将空单元格粘贴到另一个文档中。
如果我单步执行,代码会按预期工作,但按“运行”时不会。
Set wbThis = ActiveWorkbook
strName = ActiveSheet.Name
Set wbTarget = Workbooks.Open("D:\Users\user37\Desktop\exportas\Information.xlsm")
wbTarget.Worksheets("Information").Activate
ActiveSheet.Range("B2").Value = myValue
Application.Run ("'Information.xlsm'!ExportData")
wbTarget.Worksheets("SO Lines").Activate
ActiveSheet.Range("E4").Copy
Set wbTarget = Workbooks.Open("D:\Users\user37\Desktop\exportas\Sablonai.xlsm")
wbTarget.Worksheets("Duomenys").Activate
ActiveSheet.Range("A1").Select
activeSheet.PasteSpecial
我找到了这个问题的几个答案,但似乎没有一个对我有用。
我尝试了睡眠和等待方法。它们会停止整个宏,甚至是生成值的宏。
我尝试在生成宏的末尾或在主宏中调用生成宏之后添加 DoEvents。更改无效。
建议的重复 Excel waiting for one macro to finish before calling another 没有帮助。
【问题讨论】:
-
你能举一个你尝试过的“这个问题的几个答案”的例子,并扩展“他们没有用”吗?
-
那里的链接没有帮助...
-
我已经尝试过 sleep 和 wait 方法,它们只会停止整个宏,甚至是生成值的宏。还尝试在生成宏的末尾或在我在主宏中调用生成宏之后添加 DoEvents。更改没有任何效果,所以代码仍然不会等待生成完成