Excel 在VBA中添加命名范围引用
我正在尝试向命名范围的referesto值添加字符串。问题是字符串必须带有“=”才能与其他内部工具一起使用。我可以很容易地创建字符串,但是当我尝试添加引用时,会附加错误。是否有任何方法覆盖该错误,并在字符串开头放置“=”的字符串。下面是一个非常简化的模型示例:Excel 在VBA中添加命名范围引用,excel,vba,named-ranges,Excel,Vba,Named Ranges,我正在尝试向命名范围的referesto值添加字符串。问题是字符串必须带有“=”才能与其他内部工具一起使用。我可以很容易地创建字符串,但是当我尝试添加引用时,会附加错误。是否有任何方法覆盖该错误,并在字符串开头放置“=”的字符串。下面是一个非常简化的模型示例: Public Sub AddReference() ActiveWorkbook.Names.Add Name:="DG_PRINT_SETTINGS_001", RefersTo:="={""""001"""",""""pr
Public Sub AddReference()
ActiveWorkbook.Names.Add Name:="DG_PRINT_SETTINGS_001", RefersTo:="={""""001"""",""""print_settings""""}"
End Sub
任何有助于使这项工作将是伟大的,因为我不能改变这个过程的另一端,我需要鞋钉这项工作。我知道这是可能的,因为它是在别处完成的,但是写代码的人已经不在了,我不能问他……我有点像索尔
您需要注意字符串引号
“
这将有助于:
ActiveWorkbook.Names.Add Name:="DG_PRINT_SETTINGS_002", RefersTo:="={""001"",""print_settings""}"
我们看不到您提到的错误。我更正的语法有错误,并验证了此sub在运行时会显示错误。我使用的是Excel 2013,64位,如果有一点点不同,您仍然没有在问题中指出错误。您说它是“附件”。“你不能给
referesto
参数分配一个范围
对象引用吗?@Mat'sMug不,这是一个字符串,被另一个我无权访问的程序拆开了。因此,有人提出了鞋角评论。或者你的意思是,把它变成一个范围对象,而不是一个字符串?64 0r 32位没有任何区别,为什么有这么多引号。你想要“001”
或“00”
吗?我得到的错误和输出不是我想要的,而是更少的引号什么错误?是否共享错误消息?你试过我的答案了吗?是的,我得到了RTE 91:对象变量或块变量set@Darw1n34除非ActiveWorkbook
是Nothing
,否则该错误不可能从该行代码中引发。很可能是其他原因导致了这个错误。