• ベストアンサー

エクセルVBAで定義したセルを使う時

シート1のセルA1にTESTと定義して、標準モジュールでRange("TEST")と書いています。 同じプログラムを別のシートでも使おうと思ったのですが、 同じブックで別のセルに同じ名前を定義できないようです。 そこで、シート2のセルA1にはTESTAという名前を定義しました。 アクティブなシートがシート1の時は、Range("TEST") アクティブなシートがシート2の時は、Range("TESTA")としてプログラムを書いていますが、 シート名を変えられたら、使えなくなります。 何か良い方法は無いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

シートレベルで名前を定義すれば出来ます。 例えばA1にTESTと名前を付けたい場合、 A1を選択→数式→名前の定義→範囲欄を該当のシート名を選び、名前を付けてOKします。 これは各シート毎に設定可能なので、シート1、シート2それぞれ行います。 プログラム的には、どのシートがアクティブでも Range("TEST") でOKです。

miya2004
質問者

お礼

ありがとうございます。 範囲をシートだけに出来るのですね。

関連するQ&A