我想刷新我的工作簿,然后在单元上运行检查,如果值> 0显示一条消息,则代码我看起来正确且逻辑性强,但刷新是在检查值之后完成的,我试图把它们分成单独的宏并按顺序调用它们,但刷新后仍然运行。不确定是否值得注意刷新涉及刷新到SQL DB的数据连接。Excell RefreshAll在其他宏之后运行
这是两个宏我都不得不时刻:
Sub RefreshMacro()
ActiveWorkbook.RefreshAll
Sheets("Execution").Select
ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
Sheets("Traffic Lights").Select
ActiveWorkbook.RefreshAll
End Sub
Sub ErrorMessage()
If Sheets("Traffic Lights").Range("G2").Value > "0" Then
MsgBox "Error with data!" & vbCr &
"Please Note There is an issue with the data" & vbCr &
"See Traffic Lights for more details!", vbOKOnly + vbExclamation,
"Red Traffic Lights"
End If
End Sub
当你一步通过它它工作? –
是的,如果我刹车后刷新它的工作 –
看看http://stackoverflow.com/questions/22083668/wait-until-activeworkbook-refreshall-finishes-vba –