繁体   English   中英

如何刷新 Excel VBA 中的所有内容?

[英]How to refresh all in Excel VBA?

我的程序打开用户指定的工作簿并将值返回到原始工作簿。

当我运行代码时,工作簿不会刷新。 当我调试/单步执行程序时它确实有效。

Dim src As Workbook
Dim wkbk As String
' OPEN THE SOURCE EXCEL WORKBOOK
wkbk = Range("A2").Value
Set src = Workbooks.Open(Filename:="S:\Engineering Team\Quoting\" & Range("A2").Value, ReadOnly:=True)
Workbooks(wkbk).RefreshAll
DoEvents

我尝试了等待 5 秒命令,但这不起作用。 我的后台刷新被禁用,所以这不是问题。

@Vincent Farcy 的评论是正确的!

Application.CalculateUntilAsyncQueriesDone

以上是在刷新所有命令之后添加的。

使用更新链接 如果常数为 0,则不更新,如果为 3,则更新。

Sub test()
    Dim src As Workbook
    Dim wkbk As String
    ' OPEN THE SOURCE EXCEL WORKBOOK
    wkbk = Range("A2").Value
    Set src = Workbooks.Open(Filename:="S:\Engineering Team\Quoting\" & Range("A2").Value, UpdateLinks:=3)
    
    DoEvents
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM