在VBA Excel 2007中使用命名范围

我试图访问Excel 2007中使用VBA命名的范围。当我使用明确的范围,即“A3:M53”我可以得到下面的公式工作。 但是,当我用命名的范围replace显式范围时,我得到一个错误。 我需要使用命名范围,因为程序需要根据导入的数据来select不同的范围。 Fixed.OAX.5是OAX50工作表上的命名范围。

WorksheetFunction.Match(5, Worksheets("OAX50").Range("Fixed.OAX.5"), 1) 

当我运行这个代码时,我得到“无法获得WorksheetFunction类的匹配属性。

你最有可能找不到在Worksheets("OAX50").Range("Fixed.OAX.5")价值5 Worksheets("OAX50").Range("Fixed.OAX.5")

使用Application.Match()并包装任何可能的错误:

 Dim x As Variant With Worksheets("OAX50").Range("Fixed.OAX.5") x = Application.Match(5, .Cells, 1) If IsError(x) Then MsgBox "Sorry, no match for '5' in range " & .Address & " of worksheet '" & .Parent.Name & "'" Else 'your code to exploit 'x' End If End With