我正在尝试创建一个vba脚本,它在SQL中运行select脚本并将其粘贴到命名范围内。以下是我的代码;
Option Explicit
Dim cnt As ADODB.Connection
Dim rcrds As ADODB.Recordset
Sub runQuery(strSQL As String, rngResults As Range)
Set rcrds = New ADODB.Recordset
rcrds.Open strSQL, cnt, adOpenDynamic, adLockOptimistic, adCmdText
rngResults.ClearContents
rngResults.CopyFromRecordset rcrds
End Sub
Public Sub Update_Scorecard_2()
Dim ssql As String
Dim myrange As Range
Application.ScreenUpdating = False
Set cnt = New ADODB.Connection
cnt.Open "Provider=MSDAORA;Data Source=ODSPRD01;user ID=DWH_ADH;password=mypassword;"
Call runQuery(Range("DATA_DUMP_SQL").Value, Range("DATA_DUMP"))
cnt.Close
End Sub
我收到错误“对象全局失败的方法范围”。我理解这很可能是vba不知道要查看哪张表的问题,但我的理解是这不应该是命名范围的问题?我已经尝试过从命名区域开始设置变量,但这也没有用。
此行发生错误:
Call runQuery(Range("DATA_DUMP_SQL").Value, Range("DATA_DUMP"))
我的代码中有什么错误?