将每个单元格的名称设置为其内容/值

3

我想创建一个宏,选择一个矩形区域的单元格,并将每个单元格的名称设置为该单元格的值/内容。

就目前我所想的而言,但是使用cell.Name行时会出现错误。

Public Sub NameCell()
Dim rng As Range
Dim cell As Range
Set rng = Range("A1:D1")
For Each cell In rng
    cell.Name = CStr(cell.Value)
Next
End Sub

4
并不是每一段文本都是一个有效名称 - GSerg
3个回答

0

这是你想要的吗?

Sub setVal()
    Range("A1:C6").Select
    Selection = "value"
End Sub

1
这与在公式中为范围分配名称有什么关系? - GSerg
啊,我误解了问题。 - jrad
是的,这不完全是我想要的。无论如何还是谢谢。 - M M

0

我相信这个方法可能适用于你,除非我也误解了问题。

Dim r As Range
Dim cell As Range

Set r = Sheet1.UsedRange

For Each cell In r
    Sheet1.Names.Add Name:=cell.Value, RefersTo:=cell
Next

不过要记住,您需要检查cell.Value是否对于命名范围有效(没有空格等)。


-1

要用它们的值替换单元格范围(从范围中删除任何公式),您可以使用类似于以下内容的东西。

Public Sub NameCell()
    Dim rng As Range
    Set rng = Range("A1:D1")
    rng.Value = rng.Value
End Sub

1
这与在公式中为范围分配名称有什么关系? - GSerg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接