【发布时间】:2019-11-09 18:46:05
【问题描述】:
在下面的 VBA 代码示例中,我手动创建了 3 个命名范围,其中 ReportID_0XX 从 ...01 逐渐增加到 ...03, 并且还将比较报告单元格引用从 $A$6 增加到 $A$8
这在较小的范围内很好,但现在我需要对 60 个实例执行此操作,有效地继续该过程 57 次,以便为“ReportID_001”到“ReportID_060”创建命名范围(添加保留适用的前导零)并拥有单元格引用从 $A$6 开始,到 $A$65 结束。
我对使用 VBA 命名范围非常陌生。
''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''
ActiveWorkbook.Names.Add Name:="ReportID_001", RefersTo:= _
"='ComparisonReport'!$A$6"
ActiveWorkbook.Names("ReportID_001").Comment = ""
'''''''''''''''''''''''''''''''''''
ActiveWorkbook.Names.Add Name:="ReportID_002", RefersTo:= _
"='ComparisonReport'!$A$7"
ActiveWorkbook.Names("ReportID_002").Comment = ""
'''''''''''''''''''''''''''''''''''
ActiveWorkbook.Names.Add Name:="ReportID_003", RefersTo:= _
"='ComparisonReport'!$A$8"
ActiveWorkbook.Names("ReportID_003").Comment = ""
【问题讨论】:
-
创建一个包含您感兴趣的所有单元格的 Range 对象,遍历这些单元格并为它们分配一个命名范围。保留一个指定的变量来跟踪一个计数器以包含在您的命名范围名称中......但是为什么要命名单个单元格的范围?我几乎看不到 =)
标签: excel vba for-loop named-ranges