下面的代码命名范围中的最后一个单元格,而不是命名范围中的每个单元格。
我尝试运行这个循环,以便从单元格A1开始,将任何非空单元格命名为“Guidance1”、“Guidance2”,依此类推。
Sub GiveAllCellsNames()
Dim wb As Workbook
Set wb = ActiveWorkbook
Dim R As Range
Dim NameX As String
Static I As Long
I = I + 1
NameX = "Guidance" & I
For Each R In Range("A1:A390").Cells
If R.Value <> "" Then
With R
wb.Names.Add NameX, RefersTo:=R
End With
End If
Next R
End Sub
我尝试了这个循环,但没有在“R”范围变量上使用“with语句”,得到了相同的结果。
2条答案
按热度按时间jqjz2hbq1#
可以使用Range对象的name属性添加命名范围。
变更
至
I
需要递增,并且名称应在循环内更新。p4rjhz4m2#
命名非空单元格