Chuckは、ワークブックに名前付き範囲を簡単に設定できます。Excelでは、その名前付き範囲をワークブック全体に適用するか、単一のワークシートに適用するかを指定できます。しかし、彼は、名前付き範囲のスコープを単一のワークシートに制限することの長所と短所について疑問に思います。それは、スコープをブック全体に設定したままにするよりも良いかどうかという問題につながります。

Chuckが示すように、名前付き範囲のデフォルトは、ブック全体に適用されます。ほとんどの人にとって、これは問題ありません。これは、ほとんどの人が名前付き範囲で作業する方法を反映しています。ワークブックスコープまたはワークシートスコープのいずれにも関連付けられた「パフォーマンスヒット」がないため、(幸いなことに)方程式には入りません。

では、いつデフォルトから逸脱し、代わりに、名前付き範囲をワークシートにのみ適用できるようにするかを選択する必要がありますか?明らかな答えは、ワークブック内で複製したいワークシートがあり、ワークシートにはそのワークシートの範囲を参照する名前付き範囲が含まれ、そのワークシートにはそれらの名前付き範囲を利用する数式が含まれている場合です。ワークシートを複製するときは、複数のワークシートのこれらの数式がワークシートに対して引き続き機能するようにする必要があります。名前付き範囲の範囲がワークシートに限定されている場合は、すべてが期待どおりに機能するはずです。

「ブック」スコープを使用する名前付き範囲を含むワークシートを複製し、そのコピーが同じブック内にある場合、Excelはコピーされたワークシートに変更を加えます。具体的には、ブックの名前空間での混乱を防ぐために、Excelはコピー内の名前付き範囲をワークシートスコープを持つように自動的に変換します。元のワークシートの名前付き範囲は変更されないため、ブックのスコープが保持されます。

「ワークブック」スコープを使用する名前付き範囲を含むワークシートを複製し、そのコピーが別のワークブックに配置される場合、元のスコープを保持するとすでに名前付き範囲と競合する場合にのみ、Excelはそれらの範囲のスコープを変更しますターゲットワークブックに存在します。

いずれの場合も、ワークシート内の数式を再確認して、それらが参照することを期待しているものを参照していることを確認する必要があります。逆に、名前付き範囲スコープを「ワークシート」に変更できます

ワークシートのコピーを行う前に、複製またはコピーされたワークシートと混同される可能性を減らします。

ただし、特定のワークシートを対象とする名前付き範囲を使用する場合は、2つの潜在的な落とし穴に注意する必要があります。まず、ワークシートの複製を開始すると、異なるワークシートで同じ名前の範囲があるため、ユーザーが潜在的な問題を追跡するのが少し難しくなります。 (ユーザーが限られた範囲に頭を巻くにはもう少し時間がかかります。)

次に、これらのマクロが名前付き範囲にアクセスする場合、マクロがより複雑になる可能性があります。このようなマクロがある場合は、それらを徹底的にテストして、期待される範囲を参照していることを確認する必要があります。そうしないと、マクロがワークシートデータを台無しにしたり、完全にクラッシュしたりする可能性があります。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(4633)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。