我想在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