方法使用命名范围时对象_global的范围失败

时间:2015-01-22 18:48:26

标签: excel vba excel-vba

我正在尝试创建一个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"))

我的代码中有什么错误?

0 个答案:

没有答案