如何在Excel VBA中使用循环创建命名范围?
我想在我的Excel工作表中创建命名范围,稍后应将其复制到另一个工作表中。如何在Excel VBA中使用循环创建命名范围?,excel,vba,loops,named-ranges,Excel,Vba,Loops,Named Ranges,我想在我的Excel工作表中创建命名范围,稍后应将其复制到另一个工作表中。 我创建了一个代码,将范围命名如下: Sub Sample1() Dim RangeName As String RangeName1 = Worksheets("DB_Elements").Range("B3") ThisWorkbook.Names.Add Name:=RangeName1, RefersTo:=Worksheets("DB_Elem
我创建了一个代码,将范围命名如下:
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