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

时间:2012-07-19 17:07:55

标签: excel vba loops range

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

就我到目前为止的想法而言,我在使用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

3 个答案:

答案 0 :(得分:0)

这是你的意思吗?

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

答案 1 :(得分: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对于命名范围是否有效(无空格等)。

答案 2 :(得分:-1)

要用它们的值替换一系列单元格(从范围中删除任何公式),你可以使用类似的东西。

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