"您输入的名称无效" Excel出错

时间:2015-10-20 14:21:39

标签: excel vbscript

我试图运行一个简单的VBScript示例(不是Excel宏)并且遇到您输入的名称无效问题。

名称有下划线,没有空格,工作簿是全新的(名称管理器不显示任何内容)。此外,尽管大多数Web示例都显示:=这对我来说是语法错误。

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\test.xlsx")

'This line fails
objExcel.ActiveWorkbook.Names.Add Name="_myRange", RefersTo="Sheet1!$A$1:$D$3"

objExcel.ActiveWorkbook.Save
objExcel.ActiveWorkbook.Close
objExcel.Application.Quit
WScript.Echo "Finished."
WScript.Quit  

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

Name:="_myRange"语法是命名参数语法。正如您所观察到的那样,您不能将其与VBScript一起使用。但是,您不能简单地将其更改为Name="_myRange"Name="_myRange"将导致FALSE,因此您尝试使用FALSE作为名称。这就是错误的原因。

您必须按正确顺序放置参数而不指定它们。

objExcel.ActiveWorkbook.Names.Add "_myRange", "=Sheet1!$A$1:$D$3"

哦,引用必须以=开头。

答案 1 :(得分:-1)

您确定您的语法正确吗? 如果按名称引用参数,则必须添加:=

试试这个:调用objExcel.ActiveWorkbook.Names.Add(“_ myRange”,“Sheet1!$ A $ 1:$ D $ 3”)