2014-01-13 40 views
1

我的Excel工作表包含一個從外部源獲取數據的表。我知道我可以刷新這些數據,方法是右鍵單擊表格並單擊「刷新」,但是我希望能夠在我的VBA代碼中執行此操作,以便在執行某些計算之前強制更新數據。使用VBA使Excel從源刷新數據

我曾嘗試使用Worksheets("Foo").Calculate按類似問題的答案建議,但這並不能解決問題。

+3

嘗試記錄一個宏並執行「刷新」。這是這樣的最好的選擇。 – Makah

+0

+1'記錄宏'! –

回答

2

應該可以使用QueryTable("tableName").RefreshHere是查詢表上Microsoft Developer Network頁面的鏈接。從那裏檢查刷新方法。

+0

這似乎應該可以工作,但VBA似乎無法通過名稱找到我的表。這似乎是一個不同的問題,但。 –

+0

如果它是你唯一的表,你應該可以使用QueryTable(1)。如果你有很多表格,找到它的索引號可能會更困難,你可能會更好地記錄一個宏,正如問題評論中所建議的那樣。 – thunderblaster

+0

'工作表(「Foo」)。範圍(「B2」).ListObject.QueryTable.Refresh BackgroundQuery:= False似乎是找到我的表的方式。奇怪的是,它甚至沒有列在QueryTable()中。 –