Excel VBA-如何在创建命名范围时将字符串转换为公式

时间:2019-02-21 15:22:41

标签: excel vba

我正在编写一些代码,以基于母版纸创建许多相同的纸页。母版表有很多命名范围,我需要将它们复制到新表中(每个命名范围名称都有一个与表名称相对应的编号前缀,例如P1_rngname,P2_rngname等)。我目前正在根据主表中的数据将新名称和新范围构建为字符串,并在下面添加了重要的代码行:

Form = "='P" & Pnum & "'!" & Range(Pmaster_nm).Address
ActiveWorkbook.Names.Add Name:="P" & Pnum & nm, RefersToR1C1:=Form

Pnum是命名范围的新工作表名称前缀 nm是新命名范围的后缀(与master的后缀相同) 因此,“ P”和Pnum&nm是新命名范围的名称 Pmaster_nm是要复制的主表中的命名范围名称

Form是新工作表上的新范围,例如"='P5'!$G$8"(变量定义为字符串)

但是,当我运行代码时,遇到运行时错误1004“该公式存在问题”,当它在添加新名称的行中出现时。我怀疑这是因为ActiveWorkbook.Names.Add期望一个范围,但是正在获取字符串。我尝试将Form定义为一个范围,但是错误发生在前面的行中。我如何才能认为Form是公式?

任何帮助将不胜感激。

0 个答案:

没有答案