Sub refresh1()
Sheets("Sheet1").Select
Range("A2").Select
Selection.ListObject.QueryTable.refresh BackgroundQuery:=False
Sheets("Sheet3").Select
End Sub
While this works fine and runs so quickly the selection of another worksheet and then selecting the original worksheet is usually not noticed by the user, however, it seemed to me there should be a better way of refreshing the data.
After a bit of Google searching I found that the above code could be replaced with this:
Sub refresh2()
Sheets("Sheet1").Range("A2").ListObject.QueryTable.refresh BackgroundQuery:=False
End Sub
While this was obviously an improved solution I felt there could be a better way. So back to Google an I found this:
Sub refresh3()
ActiveWorkbook.Connections("BranchData").refresh
End Sub
In this code "BranchData" is the connection name of the query.
This is the best solution I've found to date.
No comments:
Post a Comment