我创建了这个基本的VBA脚本,目的是了解如何引用已创建工作表中的列。在这种情况下,我希望能够在我的sql查询中引用工作表1的数字列。我已经附上了为测试这一点而编写的完整代码。当然,ws1.number不能作为字段工作。有没有正确的方法从ws1中选择该列?
sql = "Select ws1.number " & _
"from " & ws1 & " as ws1"
答案 0 :(得分:0)
在SQL文本中,您可以引用工作表名称,后跟方括号$
,就好像它是一个表一样。如果您将“数字”一词写到一个单元格中,则以下内容将选择该标题下的每个连续行:
sql = "Select Number" & _
"FROM [" & ws1.name & "$] as ws1"
请注意,如果您有多个带有“数字”文本的单元格,它将采用该单元格的第一个实例,即从左/上到右/下搜索。
答案 1 :(得分:0)
要通过数字引用列,您将必须在连接字符串HDR=NO
中将列标题设置为false。然后,F
可以用字段和数字引用这些列,并用方括号括起来。
"SELECT ws1.[F1], ws1.[F2] FROM [" & Worksheets(1).Name & "$] AS ws1"
“ AS ws1”创建表别名;简化代码。