有没有一种方法可以将命名范围用作strsql行中where子句的一部分?
我在第二张纸上有一个命名的区域单元格m1叫做代码。我想有而不是必须硬编码的股票代码符号在何处条款。
我尝试过执行“code”和[sheet2]。[code]都返回了错误。
Set TestData = New ADODB.Recordset
conn.Open "DRIVER=SQLITE3 ODBC DRIVER;DATABASE=C:\Users\jez\financials.db;"
strSQL = "SELECT * FROM financials WHERE Ticker='AAPL' "
TestData.Open strSQL, conn
For icols = 0 To TestData.Fields.Count - 1
Worksheets("Sheet2").Cells(1, icols + 1).Value = TestData.Fields(icols).Name
Next icols
Worksheets("Sheet2").Range("A2").CopyFromRecordset TestData
TestData.Close
Set TestData = Nothing
Set conn = Nothing
End Sub
更新
执行以下操作:
Dim code As Range
Set code = Worksheets("Sheet2").Range("M1")
Dim r As Variant
r = code.Value
strSQL = "SELECT * FROM financials WHERE Ticker= 'r'"
不会给出错误,它将从数据库中生成标头,但无法生成任何值。
暂无答案!
目前还没有任何答案,快来回答吧!