長方形のセル範囲を選択し、それらのセルのすべての名前をセルの値/内容に設定するマクロを作成したいと思います。
これまでの考えでは、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
私も質問を誤解していない限り、これはあなたに役立つと思います。
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
ただし、名前付き範囲に対して が有効であること (スペースがないことなど) を確認する必要があることに注意してください。
セルの範囲をその値で置き換える (範囲から数式を削除する) には、次のようなものを使用します。
Public Sub NameCell()
Dim rng As Range
Set rng = Range("A1:D1")
rng.Value = rng.Value
End Sub