セルの名前を削除する
ブック範囲の定義名InputCellを削除します。
実行前に確認
- その名前を使う数式が#NAME?などになる可能性があります。実行前にバックアップしてください。
1サンプルコード
Sub Example1161()
Dim ws As Worksheet
Dim n As Name
Set ws = ThisWorkbook.Worksheets("Sheet1")
On Error Resume Next
Set n = ThisWorkbook.Names("InputCell")
On Error GoTo 0
If n Is Nothing Then
MsgBox "InputCellがありません。"
Exit Sub
End If
If MsgBox("InputCellの定義を削除します。参照数式がエラーになる場合があります。続けますか?", vbYesNo + vbExclamation) <> vbYes Then Exit Sub
n.Delete
End Sub表で見る処理のイメージ実行前・実行後のセルを見比べる
名前を削除すると、その名前を使う数式に影響します。
A・B・Cは列、1・2・3は行です。例えば「B2」はB列の2行目のセルです。この表は説明用のサンプルです。
実行前
| A | B | C | |
|---|---|---|---|
| 1 | 項目 | 値 | 数式の結果 |
| 2 | 入力欄 | 100 | 100 |
実行後
| A | B | C | |
|---|---|---|---|
| 1 | 項目 | 値 | 数式の結果 |
| 2 | 入力欄 | 100 | #NAME?(注目セル) |
色付きは注目する場所です。「—」は未入力、「(空文字)」は数式などが返す空の文字列を表します。
確認で「はい」を選んだ場合です。InputCellがSheet1!B2を参照し、C2に =InputCell がある前提です。名前の定義だけを削除しB2は残ります。自動計算、または再計算後のC2を示します。
使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
- 1
練習用のブックを.xlsm形式で保存し、Sheet1という名前のシートを用意します。名前の管理でブック範囲のInputCellを用意します。
- 2
Alt+F11でVBEを開き、[挿入]→[標準モジュール]へコードを貼り付けます。
- 3
InputCellを削除する定義名に変更します。
- 4
マクロ内にカーソルを置いてF5で実行します。名前の管理から定義名がなくなります。セルの値は残ります。