Excel,VBA,SQL - 从另一个工作簿/错误中检索数据

时间:2018-06-15 12:52:59

标签: sql excel vba

我想从已关闭的工作簿中检索数据。 我的代码是

fileName = "the path\test.xlsx"
With CreateObject("ADODB.Connection")
    .CommandTimeout = 500
    .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
        & fileName & ";" & "Extended Properties=""Excel 12.0;HDR=YES;Readonly=true"";"
    .Open
      ThisWorkbooks.Worksheets("new").Range("A1").CopyFromRecordset .Execute("select * from [source$B1]")
    .Close
End With

我有一些错误,424:需要对象,找不到对象...我认为这是一个语法问题。 目的是从单元格中检索数据并放入其他工作表/工作簿中 谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

三件事:

  1. 除非您定义了" ThisWorkbooks"在某个地方,我认为它应该是#34; ThisWorkbook"。
  2. 使用此方法,我只能获取包含":"的范围。在其中,请将source$B1更改为source$B1:B1
  3. 由于您只需要一个单元格,因此应关闭HDR(标题)选项。

    fileName = "the path\test.xlsx"
    
    With CreateObject("ADODB.Connection")
        .CommandTimeout = 500
        .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
        & fileName & ";" & "Extended Properties=""Excel 12.0;HDR=No;Readonly=true"";"
        .Open
        ThisWorkbook.Worksheets("new").Range("A1").CopyFromRecordset 
        .Execute("select * from [source$B1:B1]")
        .Close
    End With