dポイントプレゼントキャンペーン実施中!

excel(2003,2007) VBA 入力規則 別シートを参照したリストについて、リストの中身しか選べなくしたい

OS:Windows XP
Office:2003,2007

入力規則でリストを作った時、「元の値」に別シートに作ったリストを参照する設定にしています。
そのリストの内容が「赤」「青」「黄」だった場合、その3つしか選べないように制限することは可能でしょうか?
同じシート内にリストを作れば可能であることは知っていますが、別シートを参照した状態でもそれができればいいなと思っています。
別シートを参照している場合は無理なのか、無理でなければどうすればいいのか。
方法をご存知の方、教えてください。宜しくお願い致します。

A 回答 (2件)

回答1、myRangeです。



>リスト以外の文字列(今回で言うと「赤」「青」「黄」以外:「黒」など)が入力できてしまうと思うのですが

それはリストが別シートなのか、同じシートなのかには関係なく、
入力規則でエラーメッセージを出さないようにしてあればそうなります。

●入力規則でエラー設定もしてみてください。

----------------------------------------------------------------
もし、
「設定項目以外が入力されたら▲エラーは表示せず▲に、
 その入力値を消し、設定セルを再度アクティブにしたい」
ということであれば数行のマクロを書くことになります。

何れにしろそこら辺りをも少し明確にさせた方がいいでしょう。
以上です。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
「エラー設定」とは入力規則の「エラーメッセージ」タブ内の「無効なデータが入力されたらエラーメッセージを表示する」にチェックを入れる、ということでしょうか?
その設定を確認してみたところ、すでにチェックが入っている状態でした。
※この設定を見直しているときに、入力規則の「設定」タブ内も見直したのですが、そのタブ内にある「空白を無視する」というチェックボックスにチェックを入れるとリスト以外の文字が入力できるようでした。
このチェックを外すとエラーメッセージが表示され、リスト以外の文字が入力できない状態になったので、この状態で進めようと思います。

これで解決とさせていただきます。ご回答誠にありがとうございました。

お礼日時:2010/07/07 06:49

そういう場合は、先ず、リスト範囲に名前を付けてやります。



例えば、「色区分」という名前を付ける場合

(1)別シートのリスト範囲を選択する
(2)名前ボックスに「色区分」と入力

これでリスト範囲に「色区分」という名前が付けられるので
入力規則の「元の値」ボックスには次のように入力する

    =色区分  (半角の=と付けた名前)


名前ボックスの場所は分かりますね?
数式バーの左のボックス(列番号Aの上のボックス)
 
以上です。
    • good
    • 0
この回答へのお礼

ありがとうございます。

しかしmyRangeさまが回答してくださったことは既に実装できております。
現在の状況を明確にお伝えできておらず申し訳ありません。

別シートのリスト範囲を設定(入力規則の「元の値」に「=色区分」)している状態のセルには
リスト以外の文字列(今回で言うと「赤」「青」「黄」以外:「黒」など)が入力できてしまうと
思うのですが、「赤」「青」「黄」以外の「黒」などを入力できないようにしたいのです。

お礼日時:2010/07/06 02:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!