[英]How to create Named Ranges using a loop in Excel VBA?
我想在我的 Excel 工作表中创建命名范围,稍后应将其复制到另一个工作表。
我创建了一个命名范围的代码,如下所示:
Sub Sample1()
Dim RangeName As String
RangeName1 = Worksheets("DB_Elements").Range("B3")
ThisWorkbook.Names.Add Name:=RangeName1, RefersTo:=Worksheets("DB_Elements").Range("B3:V14")
RangeName2 = Worksheets("DB_Elements").Range("B17")
ThisWorkbook.Names.Add Name:=RangeName2, RefersTo:=Worksheets("DB_Elements").Range("B17:V28")
但是,这需要再重复 85 次。 所以我需要在我的 VBA 中创建一个循环,每次都会创建一个基于“B”单元格值的新命名范围,该单元格值总是向下偏移 14 行。 命名范围总是由 12 行和 21 列组成。
尝试这个:
Sub Sample1()
Dim i As Long
Dim j As Long
With Worksheets("DB_Elements")
For i = 1 To 85
j = (i - 1) * 14 + 3
ThisWorkbook.Names.Add Name:=.Range("B" & j), RefersTo:=.Range("B" & j & ":V" & (j + 11))
Next
End With
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.