如何解决如何在 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。