2010-07-27 68 views
1

在Excel VBA中,我将Excel用作某些查询的数据源。 我使用的查询作为在Excel数据源中使用TableName而不是命名范围SQL查询

SQL = "Select * from [NameRange1]" - This works 

不过,我想用一个表名,而不是Namerange(Excel 2007页中的表)。我如何使用它? 我试过"select * from [Table1]",我也试过为这个table1创建一个Namerange,但它也没有工作。

有什么想法吗?

回答

0

你不说你是使用DAO还是ADO来连接,但我认为它不重要。我认为不可能引用表格。我见过的所有文档都列出了三种范围:整张[Sheet1 $],命名范围[NameRange1]或未命名范围[Sheet1 $ A1:B10]。

我能够为Excel 2010表提供一个命名范围,该命名范围包含标题并且与其他任何命名范围一样工作,并且它通过添加行来更改大小。确保如果它是一个表级命名范围,就像[Sheet1 $ NameRange1]一样。

我在ADO上找到的最好的信息是:http://www.xtremevbtalk.com/showthread.php?t=217783