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

我想要创build一个macros,select一个矩形范围的单元格,并将每个单元格的名称设置为单元格的值/内容。

根据我迄今为止的想法,我得到一个错误,虽然与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 

这是你的意思吗?

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

我相信这可能对你有用,除非我也误解了这个问题。

 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是有效的(没有空格等)的命名范围。

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

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