[在下面的VBA代码示例中,我手动创建了3个命名范围,其中ReportID_0XX从... 01逐渐增加到... 03,并将“ CompareReportReport”单元格引用从$ 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 = ""
Sub Test()
Dim xBk As Workbook, xRng As Range, xCel As Range, xCtr As Long, xRep As String
Set xBk = ActiveWorkbook
Set xRng = Range("A6:A66") ' or whatever range you want
For Each xCel In xRng.Cells
xCtr = xCtr + 1
xRep = "ReportID_" & Format(xCtr, "000") ' Make it "0000" if > 99 Reports
xBk.Names.Add Name:=xRep, RefersTo:="='ComparisonReport'!$A$" & (xCtr + 5)
xBk.Names(xRep).Comment = ""
Next xCel
End Sub