みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

投稿日時 - 2013-11-19 12:43:42

QNo.8353486

暇なときに回答ください

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

シートレベルで名前を定義すれば出来ます。

例えばA1にTESTと名前を付けたい場合、
A1を選択→数式→名前の定義→範囲欄を該当のシート名を選び、名前を付けてOKします。

これは各シート毎に設定可能なので、シート1、シート2それぞれ行います。

プログラム的には、どのシートがアクティブでも

Range("TEST")

でOKです。

投稿日時 - 2013-11-19 13:08:00

お礼

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

投稿日時 - 2013-11-19 13:16:30

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問