VBA入力規則で別シートのリストを参照

このQ&Aのポイント
  • Excel(2003,2007)のVBA入力規則を使用して、別シートに作成したリストを参照する方法について知りたいです。
  • 現在、リストの内容が「赤」「青」「黄」の場合、その3つしか選べないように制限したいです。
  • 同じシート内にリストを作成すれば可能ですが、別シートを参照した状態でも制限する方法があれば教えてください。
回答を見る
  • ベストアンサー

excel(2003,2007) VBA 入力規則 別シートを参照した

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

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

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.2

回答1、myRangeです。 >リスト以外の文字列(今回で言うと「赤」「青」「黄」以外:「黒」など)が入力できてしまうと思うのですが それはリストが別シートなのか、同じシートなのかには関係なく、 入力規則でエラーメッセージを出さないようにしてあればそうなります。 ●入力規則でエラー設定もしてみてください。 ---------------------------------------------------------------- もし、 「設定項目以外が入力されたら▲エラーは表示せず▲に、  その入力値を消し、設定セルを再度アクティブにしたい」 ということであれば数行のマクロを書くことになります。 何れにしろそこら辺りをも少し明確にさせた方がいいでしょう。 以上です。

smile_0yen
質問者

お礼

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

その他の回答 (1)

  • myRange
  • ベストアンサー率71% (339/472)
回答No.1

そういう場合は、先ず、リスト範囲に名前を付けてやります。 例えば、「色区分」という名前を付ける場合 (1)別シートのリスト範囲を選択する (2)名前ボックスに「色区分」と入力 これでリスト範囲に「色区分」という名前が付けられるので 入力規則の「元の値」ボックスには次のように入力する     =色区分  (半角の=と付けた名前) 名前ボックスの場所は分かりますね? 数式バーの左のボックス(列番号Aの上のボックス)   以上です。

smile_0yen
質問者

お礼

ありがとうございます。 しかしmyRangeさまが回答してくださったことは既に実装できております。 現在の状況を明確にお伝えできておらず申し訳ありません。 別シートのリスト範囲を設定(入力規則の「元の値」に「=色区分」)している状態のセルには リスト以外の文字列(今回で言うと「赤」「青」「黄」以外:「黒」など)が入力できてしまうと 思うのですが、「赤」「青」「黄」以外の「黒」などを入力できないようにしたいのです。

関連するQ&A

  • 入力規則により選択された値をVBAで変更する

    教えてください。 エクセルファイルのシート1のA1セルに入力規則(リスト)が設定してあります。 この参照リストは、セル「AA1:AA3」にあります。 AA1:赤 AA2:青 AA3:黄 このように入力されています。 このシート1のA1セルの値が「黄」であれば「赤」にVBAで変更したいのですが、 「Worksheets(sheet1).Range("A1").Value = "赤"」と記述しても変更してくれません。 ちなみに、このシートには保護がかけられています。 以上宜しくお願いします。

  • 「入力規則」のリストとVLOOKUP関数機能をあわせたような設定

    いろいろ調べてみたのですが、分からなくて。 Excelで下記のような設定が可能かどうか教えて下さい。 ------------------------------------------------------- (Sheet1)   A   B 1 赤系 2 青系 3 黄系 A列は「入力規則」のリストを用いて、"赤系","青系","黄系"のいずれかを選択できる設定になっている。 A1のように"赤系"を選択した場合、B1にはそれに応じた別のリスト("チューリップ","ガーベラ","コスモス")を表示させる。 しかし、A2のように"青系"を選択したらB2には"バラ"を、A3のように"黄系"を選択したらB3には"ヒマワリ"を直接表示させる。 ------------------------------------------------------- 以上のような内容のものです。 (Sheet2)で、以下のように入力して入力規則のリスト用に名前をつけ、"青系"と入力したら"バラ"という項目のみをリスト表示させるようにするっていう手もありますが、、 (Sheet2)   A        B     C 1 赤系      青系   黄系 2 チューリップ  バラ   ヒマワリ 3 ガーベラ 4 コスモス そうすると、わざわざリストをドロップダウンさせたり何かしらアクションを起こさないといけないですよね。。 そういった手間もなく、"青系"もしくは"黄系"を選択した場合には"バラ"や"ヒマワリ"が表示されるようにしたいんです。 ここで"赤系"がなければVLOOKUP関数で対応できるのですが…。 このような、入力規則とVLOOKUP関数をミックスしたような設定はできるのでしょうか? できればVBAを用いず、関数で対応したいと思っています。 詳しい方、ご教示願いますM(_ _)M

  • Excel 入力規則(リスト)

    入力規則のリスト機能にて、 元の値のセルを複数のパターン色(赤・青・黄)を 設定しましたが、選択時空白のセルが表示されました。 別の方法でもよろしいですので、 簡単に希望のセルにパターン色(赤・青・黄) 表示させる方法を教えてください。

  • エクセル 入力規則について

    データの入力規則でリストを選んだときの”元の値”についてですが、同一シート内のどこかを選ぶと間違ってその元の値を消したりする危険性があるので、別のシートに元の値を書いておきたいのですが、そういうことは出来ないのでしょうか? また、VBAのコード上からリストを作成することは出来ないのでしょうか?

  • エクセルの入力規則(リスト)での質問です。

    エクセルの入力規則(リスト)で、 たとえば、 A1に1、A2に2、A3に3・・・というような数字が 入っていて、それをリスト化した場合、 ▼メニューに1.2.3・・・と出てきますよね? 例えば、その▼メニューの1を選んだ場合は、 ワークシートを赤色に、 2を選んだ場合はワークシートを黄色に。。 という形にすることは可能でしょうか? マクロを使わないと無理でしょうか? 大変解りにくい説明で申し訳ありませんが、 教えていただけると本当にありがたいです。 エクセルが解らなくて本当に困ってます。 わかる方、是非、よろしくお願い致します。

  • EXCELの入力規則に関して

    EXCEL 2003 で簡単な品物の管理表を作成しています。 例えば、品目としてパソコンがあり、品番としてAとBが有ったとします。 "パソコン"はセルにそのまま表示させ、品番は入力規則でAとBと書かれたセルを参照させ、ドロップダウンリストで選択するような作り方をしています。 このような場合での質問です。 1)入力規則で別シートのセルを参照先とすることはできますか。 2)参照先を作成せずに、ドロップダウンリストを作ることはできますか。(値一覧をセルやデータに内包するような感じです) 3)入力規則を複数のシートにコピーし、片方の値を変更した場合、別シートの同じ入力規則の値も連動して変更させることは出来ますか。 入力規則の機能では作りきれない部分も有るかとは思いますが、なにか良いアイデアがあればご提案いただくと有り難いです。

  • 【エクセル】ドロップダウンリスト(入力規則)の参照元を別シートに作るには?

    ドロップダウンリスト(入力規則)にて、参照元のデータを別シートに作るにはどうすればよいでしょうか? ご存知の方、いらっしゃいましたら、ご教授願います。

  • エクセルの入力規則リストの色付けについて

    入力規則でリストを作り、リストの中には3つの項目があります。任意のセルで入力規則のリストから項目を選択した際、それぞれ1つづつ別の色で表示させたいのですがそのような方法はありますでしょうか?? 入力規則リストの項目の色を直接変えても、任意のセルでリストから項目を選択した際に黒色で表示されてしまうので、その設定した色で表示させたいのですが、どなたかお判りになる方はいらっしゃいますでしょうか?? 例えば1項目目→赤 2項目目→青 3項目目→黄 というようにしたいです!

  • exelで入力規則を使うとき

    入力規則でリストを参照するのに別のシートのリストは参照できないとなったんです。後で別のシートもまとめてページ番号がつながるように印刷したいので同じページにリストを作りたくありません。また、同じリストを他の別のシートでも利用したいのです。何かよい方法ありませんか?

  • エクセルの入力規則 リスト

    お世話になります。 入力規則でリストで選択し、その選択した値によって動的に次の入力リストの中身の変更を行いたいのですが上手く記述できないのでお願いします。 具体的に言いますと シート2を値を管理するシートとし、シート1を用意し シート2に アルファベットリスト(中身:A,B,C,D) Aリスト(中身:あ,い,う,え,お) Bリスト(中身:か,き,く,け,こ) Cリスト(中身:さ,し,す,せ,そ) Dリスト(中身:た,ち,つ,て,と) と命名したセルを用意します。 シート1のA列でアルファベットリストを入力規則のリストで呼べるようにします。 ここまでは出来るのですが シート1のA列でCを選択した場合B列ではCリストの「さ、し、す、せ、そ」を選択できるようにしたいのです。 Aであれば「あいうえお」Bであれば「かきくけこ」と絞りたいのですが上手くできないのです。 質問の内容がわからない場合申し訳ありません、質問頂ければお答えしますので宜しくお願い致します。

専門家に質問してみよう