• 締切済み

エクセル2000の範囲名について

エクセル2000で範囲名を参照して画像の切り替えを行おうと考えています。 個別に範囲名を変更していくことは出来るのですが、シートを追加するたびに範囲名を変更するのではなくシート名を範囲名として使用する方法が無いでしょうか? イメージとしてはAというシートのA1:B2の範囲にAという名前が指定されている場合にシートをコピーしてA(1)というシートが出来たときにA1:B2の範囲にA(1)という名前が自動でつくようにしたいのです。 何かよい方法は無いでしょうか?

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

>AというシートのA1:B2の範囲にAという名前が指定されている場合に >シートをコピーしてA(1)というシートが出来たときに >A1:B2の範囲にA(1)という名前が自動でつくようにしたいのです。 ご質問の直接の回答としては、オリジナルのシートで名前を「シートレベル」で定義しておけば、出来ます。 ○通常の方法 オリジナル(仮にSheet1)でA1:B2を選択、 名前の定義で(または名前ボックスで) test と名前を定義する Sheet1を「シート複写」してSheet1(2)となったとき、Sheet1(2)のA1:B2には名前は定義されていない ○シートレベルで名前を定義する(まっさらのブックを用意して行う事) オリジナル(仮にSheet1)でA1:B2を選択 名前の定義で(または名前ボックスで) Sheet1!test と名前を定義する Sheet1を「シート複写」してSheet1 (2)となったとき、Sheet1 (2)のA1:B2にはtestの名前が継続している(ように見える) ★注意  Sheet1の中でSheet1のtestを参照する場合は、通常通り使用することができる  Sheet1以外のシートでSheet1のtestを参照する場合は、Sheet1!testとする必要がある  同様にSheet1 (2)のtestをSheet1 (2)以外のシートで参照する場合は、'Sheet1 (2)'!testのようにする必要がある  このときSheet1 (2)シート内で'Sheet1 (2)'!testと参照する事もできる  →ご相談で書いているまさにその通りい、新しいシートの名前を使って新しいシートの名前定義を参照できている

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.1

マクロを書けばできますが、マクロを書かなきゃ出来ません。 で、マクロを書くぐらいなら、いちいち範囲名を参照せずとも シート名を参照して画像を切り替えることがマクロ内で容易に 可能なので、そこまでする意味が無くなります。 ということで、マクロを書く気がありますか、という話になり ます。 ただ、今時Excel2000のマクロを説明するページが残ってるか どうか。マクロのコードは結構バージョンごとに違ってるので。