如何纠正这个“运行时错误1004对象_全局失败的方法范围”错误?

我试图打开一个基于我的Excel工作簿中的命名参考文件。 我的代码:

Sub OpenCustomerData() wb = ActiveWorkbook.Name reference = "[" & wb & "]Individual" & "!customer_id" customer_id = Range(reference) Workbooks.Open Filename:=customer_id.Value & ".csv" End Sub 

通过代码, reference看起来是正确的: [MyBook.xlsm]Individual!customer_id但是当我将它作为parameter passing给Range()函数时,我得到1004错误。

为什么?

如果您正处于活动工作簿中,则只需使用工作表名称并限定范围即可:

 Sub OpenCustomerData() Workbooks.Open Filename:=Sheets("Individual").Range("customer_id").Value End Sub 

您可以将名称范围设置为像这样的variables

 Set CustID = ActiveWorkbook.Names("customer_id").RefersToRange Workbooks.Open Filename:=CustID.Value & ".csv" 

如果你想使用customer_id作为范围(又名单元格 )引用,并从连接的string文件名中检索Range.Value属性 ,那么你需要Set它。

 SET customer_id = Range(reference) Workbooks.Open Filename:=customer_id.Value & ".csv" 

如果您只想将customer_id作为范围的值开始,那么您不需要对其进行Set ,而是将其用作存储值的variables,而不是Range对象 。

 customer_id = Range(reference).VALUE Workbooks.Open Filename:=customer_id & ".csv" 

不声明customer_id显示模糊应该如何使用。