Simpline Blog「移動またはコピーする数式またはシートには、移動またはコピー先のワークシートに既にある名前「???」が含まれています。この名前を使用しますか?」
2019.05.23
はじめに
モダンなITシステム開発の現場で大人気なExcel。
皆さんも方眼紙を作って最新のパラメータを管理したり、
「え、WordじゃなくてExcelで!?」という使い方をしたりますよね。
掲題のエラーに直面するたびにググるのに疲れたので、まとめます。
エラーが出る理由
名前の定義が残っているから。
エラーを回避する
画面上部のリボンから [ 数式 ] > [ 名前の管理 ]を選択する。
ctrl + F3
でもいい。
軒並み残っているゴミを削除してきれいにする。
まだエラーが出る場合の理由
非表示の名前の定義が残っているから。
しぶといエラーを回避する
VBAを使う。
Visual Basic Editorを開く。
Alt + F11
で開く。
そんなショートカットは使いたくないという場合は、[ 開発 ] > [ Visual Basic ] から開く。
[ 開発 ] なんてタブは無い、という場合は以下の手順に則る。
1.[ファイル] タブで、[オプション]、[リボンのユーザー設定] の順に移動します。
2.[リボンのユーザー設定] および [メイン タブ] の下の [開発] チェック ボックスをオンにします。
コードを貼って動かす
[ 挿入(Alt + I
) ] > [ 標準モジュール(M
) ] でウィンドウを開き、以下をペーストする。
貼ろう
Sub osouji()
Dim C As Name
For Each C In Names
C.Delete
Next
End Sub
ペーストした部分のウインドウを閉じ、[ 実行(F5
) ] > マクロの画面で[ 実行(Enter
) ]。
この状態ですべての名前の定義が消えているはず。
不要であればVBEの画面で [ ファイル(Alt + F
) ] > [ Module1 の解放(R
) ]で今回作成したモジュールの掃除。(エクスポートしておくことも可。)Alt + F11
でVBEを閉じる。
おわりに
どんなに時代が進んでもExcelは不滅だと思う。
ガッチガチの設計書がこの世にある限り。