我的代码成功地从工作集中读取表格数据,其中数据从单元格 A1 开始。我的代码片段如下所示:
Myconnection.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & Myworkbook & ";" & _
"Extended Properties=Excel 8.0;" & _
"Persist Security Info=False"
'Build SQL Statement
strSQL = "SELECT a as kod, b as wartosc, [Descr] as opis_grupy FROM [TableA$] " & _
其中 [TableA$] 必须是一个工作表“TableA”,其中填充了从单元格 A1 开始的数据。
是否有可能,是否有一种语法允许我不引用工作集 TableA 中的数据,而是引用名称为 TableA 的对象表中的数据(在 MSExcell 2010 中,可以使用 ctrl+t 创建),以前称为列表(在MSExcel2003)?
编辑:到目前为止,我正在通过使用此函数从对表的引用构建对硬编码范围的引用来克服该问题:
Function getAddress()
myAddress = Replace(Sheets("Sheet1").Range("Table1").address, "$", "")
myAddress = "[Sheet1$" & myAddress & "]"
getAddress = myAddress
End Function