【发布时间】:2023-02-04 09:46:38
【问题描述】:
下面的代码命名区域中的最后一个单元格,而不是区域中的每个单元格。
我正在尝试运行此循环,以便从单元格 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 语句”的情况下尝试了这个循环,得到了相同的结果。
【问题讨论】:
-
您没有在循环内更新
NameX- 您不能为所有单元格指定相同的名称。 -
@蒂姆威廉姆斯。关于如何在循环中更新 NameX 的任何建议?是否只是在循环内声明变量的问题?
-
ActiveWorkbook是包含这段代码的工作簿吗?这些命名单元格所在的工作表的名称是什么?
标签: excel vba for-loop named-ranges