我收到运行时错误'''对象在以下代码中不支持此属性:
Dim WS1 As Worksheet
Dim WS2 As Worksheet
With ThisWorkbook
Set WS1 = .Worksheets("A")
Set WS2 = .Worksheets("B")
End With
With WS1.ListObjects
.QueryTables.Refresh BackgroundQuery:=False
End With
With WS2.ListObjects
.QueryTables.Refresh BackgroundQuery:=False
End With
我有点不知所措,我哪里错了?
答案 0 :(得分:1)
Refresh
方法适用于QueryTable
对象,而不适用于集合。
如果每个工作表只有一个ListObject,或者它只是感兴趣的第一个ListObject(对于每个工作表),那么:
With WS1.ListObjects(1)
.QueryTable.Refresh BackgroundQuery:=False
End With
With WS2.ListObjects(1)
.QueryTable.Refresh BackgroundQuery:=False
End With
也就是说,ListObject只有一个QueryTable,您可以刷新。
如果工作表有多个ListObject,那么你需要迭代它们的集合来刷新每个QueryTable。