エクセル 「名前の管理」を関数やVBAに使用した時にエラーになってしまう現象を解決(Excel)

【本日のミッション】

エクセルの「名前の管理」で付けた名前、きちんと名前の管理に存在しているし、「#REF!」エラーも無いのに、関数やVBAに利用したらエラーになってしまう現象を解決。

ミッションの概要

Excelの「名前の管理」で付けた名前、きちんと名前の管理に存在しているし、「#REF!」エラーも無いのに、関数やVBAに利用したらエラーになってしまう現象を解決せよ、というのが今回のミッションです。

「名前の管理」で「A1_A3」という名前があり、参照範囲に「#REF!」エラーも無いのですが・・・

エクセル 「名前の管理」を関数やVBAに使用した時にエラーになってしまう現象を解決(Excel)

その名前「A1_A3」を関数やVBAに使うと、エラーになることがあります。

エクセル 「名前の管理」を関数やVBAに使用した時にエラーになってしまう現象を解決(Excel)

今回はそんな現象を解決していきます!

■■■スポンサーリンク■■■

存在している「名前の管理」の利用で
関数やVBAにエラーが出る原因

「名前の管理」を含むシートをコピーする時、コピー先のファイルに同じ名前が存在していると、名前の範囲が「ブック」からシート名に勝手に変更されます

この名前の範囲がシート名であることが、エラーになってしまう原因です。

下記は、エラーになる名前を作り出してしまう手順です。

  1. 「Bool_A.xlsx」の「AAA」シートのセルA1~A3を、名前の管理で「A1_A3」と名付けます。
    エクセル 「名前の管理」を関数やVBAに使用した時にエラーになってしまう現象を解決(Excel)
    この時の「範囲」は「ブック」になっています。
    エクセル 「名前の管理」を関数やVBAに使用した時にエラーになってしまう現象を解決(Excel)
  2. 「Bool_A.xlsx」の「AAA」シートを、「Book_B.xlsm」にコピーします。
    通常、「範囲」は「ブック」のままコピーされます。
    エクセル 「名前の管理」を関数やVBAに使用した時にエラーになってしまう現象を解決(Excel)
    コピー先の「Book_B.xlsm」に、同じ名前「A1_A3」が存在している場合、範囲がシート名に勝手に変えられてしまいます。
    エクセル 「名前の管理」を関数やVBAに使用した時にエラーになってしまう現象を解決(Excel)
  3. それに気づかず、使用しない古い名前「A1_A3」を削除します。
    エクセル 「名前の管理」を関数やVBAに使用した時にエラーになってしまう現象を解決(Excel)
  4. 名前「A1_A3」を関数で使うと、結果がおかしくエラーが出てしまいます。
    エクセル 「名前の管理」を関数やVBAに使用した時にエラーになってしまう現象を解決(Excel)
    エクセル 「名前の管理」を関数やVBAに使用した時にエラーになってしまう現象を解決(Excel)
■■■スポンサーリンク■■■

存在している「名前の管理」の利用で
関数やVBAにエラーを出さない方法

名前の「範囲」のシート名を「ブック」に変更すればいいのですが、名前の編集画面を見てみると、「範囲」の変更ができなくなっています。

エクセル 「名前の管理」を関数やVBAに使用した時にエラーになってしまう現象を解決(Excel)

面倒ですが、新しく「ブック」を範囲にした名前「A1_A3」を作り、古い「A1_A3」を削除していきます。

  1. 古い「A1_A3」の参照範囲をコピーします。
    名前の管理画面にて、<新規作成>ボタンをクリックします。
    エクセル 「名前の管理」を関数やVBAに使用した時にエラーになってしまう現象を解決(Excel)
  2. 新しい名前画面にて、範囲が「ブック」になっていることを確認します。
    参照範囲に、先ほどコピーした内容をペーストします。
    名前は「A1_A3」とします。
    エクセル 「名前の管理」を関数やVBAに使用した時にエラーになってしまう現象を解決(Excel)
  3. 名前の管理画面にして、古い名前「A1_A3」を選択し、<削除>ボタンをクリックします。
    エクセル 「名前の管理」を関数やVBAに使用した時にエラーになってしまう現象を解決(Excel)
  4. 範囲を「ブック」とする名前、「A1_A3」ができました。
    エクセル 「名前の管理」を関数やVBAに使用した時にエラーになってしまう現象を解決(Excel)
  5. 関数を確認すると、エラーが無くなり、正しい結果になっていました。
    エクセル 「名前の管理」を関数やVBAに使用した時にエラーになってしまう現象を解決(Excel)
    エクセル 「名前の管理」を関数やVBAに使用した時にエラーになってしまう現象を解決(Excel)
■■■スポンサーリンク■■■

参照

「数字が文字列として保存されています。」を一括で数字に変換
データが増減しても参照先を変更しない名前の管理(Excel)
連動するドロップダウンリストを名前の管理・入力規制・OFFSET・INDIRECTを使って「リストが表示されない」を解決(Excel)
Excel 複数セル内の改行(Alt+Enter)を一括で解除する方法
Excel関数を使って 縦の表に連動した(リンクした)横の表を一括で作成せよ
ワイルドカードとは。使い方いろいろ。(Excel)
Excelの改ページの点線を消す方法
Excelの背景にある薄グレーの枠線(罫線)を消す(非表示)方法
非表示になってしまった列を表示させる方法
ファイルを開くと空の画面も同時に開くのを解決(Excel)
図 画像 グラフ ボタン などのオブジェクトが消えてしまった時の表示方法(Excel)
大量の画像やグラフ等のオブジェクトで画面表示が遅いのを解決(Excel)
保護されたシートに対して、このコマンドは使用できません。テーマが変えられない現象を解決(Excel)
離れた複数列をまとめて列番号(数字)で選択する方法(Excel VBA)
Excel VBA で選択した複数のセルにデータ・数式を(Ctrl+Enter のように)一気に入力する方法
エクセル フィルターをかけたときにアルファベットが大文字・小文字で区別されない現象を解決(Excel)
エクセル ピボットテーブルのフィルターリストにアルファベットが大文字・小文字で区別されない現象を解決(Excel)
エクセル 並べ替え Sort が五十音順にできない現象を解決(Excel)
エクセル「折り返して全体を表示する」にチェックしていないのに改行を入れるおと勝手に全体表示されるのを解決(Excel)
エクセル 「名前の管理」を関数やVBAに使用した時にエラーになってしまう現象を解決(Excel)

■■■スポンサーリンク■■■