在Excel中创build名称范围的dynamic更改名称
我正在寻找一种方法来在Excel中创build名称范围的dynamic更改名称。 例如:
A1 = "John" A2 = 32 A3 = "st.lo"
现在我想要的范围名称A1:A3将是“约翰”请注意,A1的值可以改变为另一个值可以说:
A1 = "michele"
现在我想要范围A1:A3的名称将变成“michele”(自动)。 提前致谢
你可以在事件中使用:
Private Sub Worksheet_Change(ByVal Target As Range)
此代码:
ActiveWorkbook.Names(Range("A1").CurrentRegion.Name.Name).Name = Range("A1").Value
每当您更改单元格A1的名称,macros更改范围的名称…
我解释一下:直接从单元格“A1”的范围的名称:
Range("A1").CurrentRegion.Name.Name
并从范围名称的集合:
ActiveWorkbook.Names(
用新的值“A1”更改名称:
).Name
好 ?
对于每个范围:
在你的macros里面:
For Each xx In ActiveWorkbook.Names CellRange = Cells(Range(xx.Value).Row, Range(xx.Value).Column) xx.Name = CellRange Next
注意不要有两个同名的单元格。 范围的名称应该是唯一的…
解释:对于工作簿中的每个RangeName,我将(第2行)第一个单元格的值赋予Range作为名称。 我更改名称后…