- ベストアンサー
VBA入力規則で別シートのリストを参照
- Excel(2003,2007)のVBA入力規則を使用して、別シートに作成したリストを参照する方法について知りたいです。
- 現在、リストの内容が「赤」「青」「黄」の場合、その3つしか選べないように制限したいです。
- 同じシート内にリストを作成すれば可能ですが、別シートを参照した状態でも制限する方法があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
回答1、myRangeです。 >リスト以外の文字列(今回で言うと「赤」「青」「黄」以外:「黒」など)が入力できてしまうと思うのですが それはリストが別シートなのか、同じシートなのかには関係なく、 入力規則でエラーメッセージを出さないようにしてあればそうなります。 ●入力規則でエラー設定もしてみてください。 ---------------------------------------------------------------- もし、 「設定項目以外が入力されたら▲エラーは表示せず▲に、 その入力値を消し、設定セルを再度アクティブにしたい」 ということであれば数行のマクロを書くことになります。 何れにしろそこら辺りをも少し明確にさせた方がいいでしょう。 以上です。
その他の回答 (1)
- myRange
- ベストアンサー率71% (339/472)
そういう場合は、先ず、リスト範囲に名前を付けてやります。 例えば、「色区分」という名前を付ける場合 (1)別シートのリスト範囲を選択する (2)名前ボックスに「色区分」と入力 これでリスト範囲に「色区分」という名前が付けられるので 入力規則の「元の値」ボックスには次のように入力する =色区分 (半角の=と付けた名前) 名前ボックスの場所は分かりますね? 数式バーの左のボックス(列番号Aの上のボックス) 以上です。
お礼
ありがとうございます。 しかしmyRangeさまが回答してくださったことは既に実装できております。 現在の状況を明確にお伝えできておらず申し訳ありません。 別シートのリスト範囲を設定(入力規則の「元の値」に「=色区分」)している状態のセルには リスト以外の文字列(今回で言うと「赤」「青」「黄」以外:「黒」など)が入力できてしまうと 思うのですが、「赤」「青」「黄」以外の「黒」などを入力できないようにしたいのです。
お礼
ご回答ありがとうございました。 「エラー設定」とは入力規則の「エラーメッセージ」タブ内の「無効なデータが入力されたらエラーメッセージを表示する」にチェックを入れる、ということでしょうか? その設定を確認してみたところ、すでにチェックが入っている状態でした。 ※この設定を見直しているときに、入力規則の「設定」タブ内も見直したのですが、そのタブ内にある「空白を無視する」というチェックボックスにチェックを入れるとリスト以外の文字が入力できるようでした。 このチェックを外すとエラーメッセージが表示され、リスト以外の文字が入力できない状態になったので、この状態で進めようと思います。 これで解決とさせていただきます。ご回答誠にありがとうございました。