宏刷新和删除重复问题

问题描述 投票:0回答:1

我正在尝试设置一个宏来刷新数据然后删除重复项,但是当我设置一个宏时,重复项不会删除。

Sub Update()
'
' Update Macro
'

'
    ActiveWorkbook.RefreshAll
    ActiveSheet.Range("Table_MHE_Failure_Reporting.accdb4[#All]").RemoveDuplicates _
        Columns:=2, Header:=xlYes
End Sub


我尝试使用 call 并将其作为 2 个单独的宏,但出现了同样的问题,所以我不知道该怎么办

excel vba duplicates refresh
1个回答
0
投票

假设刷新后,指定单元格范围的第二列中实际上存在重复项,那么最可能的问题是

ActiveWorkbook.RefreshAll
不会“等待”“后台查询”完成(请参阅 MS Docs )即以下用于删除重复项的行将立即执行,并且(很可能)在刷新完成之前很长时间执行。

解决方案是添加这一行

Application.CalculateUntilAsyncQueriesDone

ActiveWorkbook.RefreshAll
行之后和后续行之前删除重复项。通过这一行,所有查询都会在代码继续运行之前执行。

© www.soinside.com 2019 - 2024. All rights reserved.