我寫了一個宏,它使用QueryTable將CSV文件導入到我的電子表格中。我的目標是導入CSV數據並將其保存在電子表格中以供將來參考。VBA:你如何防止刷新QueryTable?
然而,隨着外部CSV文件中的QueryTable更新,當然,我想避免這種情況(因爲我想了解外部文件忘了)。是否有可用於防止刷新的QueryTable設置,或者這是完全使用的錯誤功能?
我寫了一個宏,它使用QueryTable將CSV文件導入到我的電子表格中。我的目標是導入CSV數據並將其保存在電子表格中以供將來參考。VBA:你如何防止刷新QueryTable?
然而,隨着外部CSV文件中的QueryTable更新,當然,我想避免這種情況(因爲我想了解外部文件忘了)。是否有可用於防止刷新的QueryTable設置,或者這是完全使用的錯誤功能?
那麼..如果你的目標是導入數據並且不保持數據是最新的(即再次用CSV刷新),那麼在你的VBA結束後,在查詢表的.Refresh命令後,只需刪除查詢表。
例如
Sheet1.QueryTables(1).REFRESH(假)
Sheet1.QueryTables(1).Delete
一定要通過假刷新命令詢問Excel進行forground查詢,你的代碼執行將持有至你得到你的數據。然後你的單元格,你添加查詢表將被視爲常規單元格。
您可以使用VBA將CSV作爲工作簿打開。像這樣的東西。
Set myCSVbook = Workbooks.Open Filename:="C:\dir\myfile.csv", Format:=2 '2 is csv
一旦你做到了這一點,你可以複製單個細胞,或者你可以在整個工作表複製到另一個工作簿中的一條線。我認爲Worksheet對象上有一個Copy方法可以實現這一點。