我在使用sql进行编码方面没有任何扎实的背景,所以我总是依靠stackoverflow和google来寻找答案。
所以我想创建多个命名范围,其名称取决于列A中的值,而“引用”(范围)则取决于列B。
我设法处理了一些代码,它们可以为我创建命名范围,但是我似乎找不到找到使vba逐行执行的方法。
这是我的专栏:
这是我的vba代码:
Sub createNamedRange()
Dim myWorksheet As Worksheet
Dim myRangeName As String
Set myWorksheet = ActiveWorkbook.ActiveSheet
myRangeName = myWorksheet.Range("A1").Value
ThisWorkbook.Names.Add Name:=myRangeName, RefersTo:=myWorksheet.Range("B1").Text
End Sub
答案 0 :(得分:0)
所以您要做的是循环遍历所有行,对吧?
我用For Loop调整了您的代码。它在第1到4行之间循环。如果要在更多行中循环,只需调整循环设置即可。希望它对您有用。
Sub createNamedRange()
Dim myWorksheet As Worksheet
Dim myRangeName As String
Dim row As Long
Set myWorksheet = ActiveWorkbook.ActiveSheet
For row = 1 To 4
myRangeName = myWorksheet.Cells(row, 1).Value
ThisWorkbook.Names.Add Name:=myRangeName, RefersTo:=myWorksheet.cells(row,2).Text
Next
End Sub