VBA:你如何防止刷新QueryTable?

我写了一个macros,它使用QueryTable将CSV文件导入到我的电子表格中。 我的目标是导入CSV数据并将其保存在电子表格中以供将来参考。

但是,QueryTable更新与外部CSV文件,当然,我想防止这一点(因为我想忘记外部文件)。 是否有一个QueryTable设置,我可以用来防止刷新,或者这是完全使用错误的function?

那么..如果你的目标是要导入数据,而不是跟上数据的更新(即再次用CSV刷新),那么在你的VBA结束之后.Refresh命令为查询表,只需删除查询表。

例如
Sheet1.QueryTables(1).Refresh(False)
Sheet1.QueryTables(1).Delete

一定要通过False来刷新命令,要求Excel进行forground查询,在那里你的代码执行将保存,直到你得到你的数据。然后,您添加查询表的单元格将被视为常规单元格。

您可以使用VBA将CSV作为工作簿打开。 像这样的东西。

Set myCSVbook = Workbooks.Open Filename:="C:\dir\myfile.csv", Format:=2 '2 is csv 

完成之后,可以复制单个单元格,也可以将整个工作表复制到另一个工作簿中。 我认为在Worksheet对象上有一个Copy方法来做到这一点。