我正在尝试设置一个宏来刷新数据然后删除重复项,但是当我设置一个宏时,重复项不会删除。
Sub Update()
'
' Update Macro
'
'
ActiveWorkbook.RefreshAll
ActiveSheet.Range("Table_MHE_Failure_Reporting.accdb4[#All]").RemoveDuplicates _
Columns:=2, Header:=xlYes
End Sub
我尝试使用 call 并将其作为 2 个单独的宏,但出现了同样的问题,所以我不知道该怎么办
假设刷新后,指定单元格范围的第二列中实际上存在重复项,那么最可能的问题是
ActiveWorkbook.RefreshAll
不会“等待”“后台查询”完成(请参阅 MS Docs )即以下用于删除重复项的行将立即执行,并且(很可能)在刷新完成之前很长时间执行。
解决方案是添加这一行
Application.CalculateUntilAsyncQueriesDone
在
ActiveWorkbook.RefreshAll
行之后和后续行之前删除重复项。通过这一行,所有查询都会在代码继续运行之前执行。