如果有人以不同的方式提出这个问题而道歉,但我无法在任何地方找到这个问题......
我正在创建一个模型来分析测试数据,并且需要定期改变我的命名范围的大小,以考虑每个课程的不同学习者数量。我使用以下代码执行此操作:
For i = 2 To 20
With ActiveWorkbook.Names("Question" & i)
.RefersTo = "Pivot Data 1 - To Use!$A$" & QuestionStart & ":$F$" & (LearnerNumbers + QuestionStart)
.Visible = True
End With
QuestionStart = QuestionStart + LearnerNumbers + 1
Next i
它成功地改变了我的范围的大小(是的!)但是当我在工作表中使用vlookup(a4,Question2,3,FALSE)时,excel返回#VALUE!错误。
在使用名称管理器进行调查时,我发现“Value”属性设置为与“Refer To”相同,即“Pivot Data 1 - To Use!$ A $ 22:$ F $ 37”而不是列出内容预期的范围。
我不确定我的代码中省略了什么,但我们非常感谢任何帮助。
谢谢, 斯蒂芬
答案 0 :(得分:0)
RefersTo
字符串中,也需要=
符号,因为它是RefersTo
。当你去名称管理员检查你在那里输入的内容时,它应该以{{1}}标志开头。因此您可以将代码修改为
=
答案 1 :(得分:0)
您在前面缺少=符号,因此Excel认为您已将名称定义为不是作为引用范围但作为一段文本的公式