LoginSignup
0
0

セルの値をセルの名前にしてくれるVBA

Posted at

仕様

選択状態のセルを対象とし、セルの値を当該セルのブックレベルの名前とする。
セルに値が入っていなければスキップ。
セルに入っている値がすでにセルの名前として使用されている場合もスキップ。
設定が完了したセルは値を削除。

セル上でExcel数式を使ってバリエーションを作ったり、オートフィルで連続データを作ったりしたセルに対して使うと少しだけ幸せになれる。

※使い捨て用に書いたのでbookの固定とか細かい処理はしていない

Module1
Sub setName()
Dim rng As Range
Set rng = Selection
Debug.Print rng.Count
Dim r As Range
For Each r In rng
    If r.Value <> "" Then
        If Not isExistingName(r.Value) Then
            r.name = r.Value
            r.Value = ""
        End If
    End If
Next
End Sub

Function isExistingName(name As String) As Boolean
On Error GoTo Err
Range(name).Select
isExistingName = True
Exit Function
Err:
isExistingName = False
End Function

大量にセルの名前を付けなければならないが名前ボックスはチマチマしていてセル上で指定したくなったので作った。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0