为什么会出现此错误->运行时错误1004-弹出?

时间:2019-11-29 22:05:50

标签: excel vba

我不确定为什么会弹出此错误。 VBA代码如下。任何帮助,将不胜感激。

代码正在尝试更新表,然后将单元格值复制到另一个工作表。我记录了宏,因此它应该可以工作。

Private Sub CommandButton4_Click()
'Initialize data
'refresh Tbill table
Application.ScreenUpdating = False
    Sheets("CurrentTBillYields").Select
    Range("Table_0[[#Headers],[Date]]").Select
    Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
    Sheets("Choices").Select
    Application.ScreenUpdating = True
'Copy over the risk free rate
Worksheets("Choices").Range("r_f") = Worksheets("CurrentTBillYields").Range("p4")
End sub

2 个答案:

答案 0 :(得分:0)

我假设:

  1. 错误在第六行
  2. 表名命名为“ Table_0”
  3. 宏中的所有范围都存在

然后替换:

Range("Table_0[[#Headers],[Date]]").Select

使用:

Range("Table_0").Select

答案 1 :(得分:0)

如果您的连接在记录时有效,则它可能会永久保存在您的工作簿中。

在这种情况下,请导航至Data-->Existing Connections并写下查询的名称。

然后,(假设您的按钮位于希望显示的同一工作表上),您可以将所有代码替换为类似的内容:

ThisWorkbook.Connections("Query - Table 0").Refresh