Excel VBA设置为工作簿级别名为范围

我有一个名为范围“查找”,是2列的工作簿级别。 它将被用作查找/replace对。 当我尝试将范围variables设置为命名范围时,出现types不匹配错误。 如何将variables设置为名为range的工作簿级别?

Sub UpdateResults() Dim rngLookup As Range, rngUpdate As Range, sFrom As String, sTo As String, iLookupRowCount As Long, iRow As Long Set rngLookup = ActiveWorkbook.Names("Lookup") If rngLookup Is Nothing Then GoTo ExitSub Set rngUpdate = ActiveWorkbook.Names("Resource_File") If rngUpdate Is Nothing Then GoTo ExitSub iLookupRowCount = rngLookup.Rows.Count If iLookupRowCount < 1 Then GoTo ExitSub For iRow = 1 To iLookupRowCount sFrom = rngLookup.Cells(iRow, 1) sTo = rngLookup.Cells(iRow, 2) Debug.Print sFrom Debug.Print sTo Next iRow Exit Sub ExitSub: End Sub 

您正试图将一个名称对象设置为一个Range对象。

使用

 Set rngLookup = ActiveWorkbook.Names("Lookup").RefersToRange 

选中此项: https : //msdn.microsoft.com/en-us/library/office/ff834918.aspx

例如:

 Set rngLookup = Range("Lookup")