• ベストアンサー

EXCEL 入力規則のリストについて教えてください

EXCELの入力規則でリストを作っています。 以前、こちらで別なシートにある一覧をリストの元データにする方法を教えていただいたのですが、元データが別なブックにある場合はどうでしょうか? EXCEL2000、XP、2003を使っています。 よろしくお願いします。

noname#13076
noname#13076

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

VBAといってもマクロの記録程度ですがやって見ました。 下記はブックaaa14のSheet3のA列をリストのアイテムに 出来ました。 ただ下記ではWorkbooks("aaa14.xls")は実行時に既に開いておく必要があります(#2ご回答と類似)。 下記Book1は保存前の状態です。 aaa14を変更した場合は上書き保存をした後に再実行する必要があります。 aaa14やその列、入力規則を設定する列を相対化(その都度 指定させる)する課題はありますが、省略。 リストのアイテムを、他ブックを参照して、文字列として作成している、と言うことがミソです。Formula1:=sが可能であったことだけでも、小生は小満足してます。 Sub Macro1() s = "" d = Workbooks("aaa14.xls").Worksheets("Sheet3").Range("a65536").End(xlUp).Row For i = 1 To d s = s & Workbooks("aaa14.xls").Worksheets("Sheet3").Cells(i, "A") & "," Next i MsgBox s Windows("Book1").Activate Range("A1:A10").Select With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:=s End With End Sub

noname#13076
質問者

お礼

どうもありがとうございます。 難しそうですが、挑戦してみます。

その他の回答 (2)

  • hakone
  • ベストアンサー率54% (40/73)
回答No.2

一応できないわけではありません。 同じブック内の別シートを使用する場合と同じように 別ブックの範囲について名前を定義します。 例えば、 Book1のA1:A4をBook2でリストとして使用したい場合: Book2.xlsで[挿入][名前][定義]とし、 Book1.xlsのA1:A4の範囲に名前を付けます。 「名前」 list 「参照範囲」 =[Book1.xls]Sheet1!$A$1:$A$4 このような名前を、リストの元の値に使用すれば、 別ブックの範囲を入力規則に使用できます。 ただし、 その入力規則を使用する場合は、リストのあるBook1.xlsを 開いていないとBook2.xlsで使用することができません。 従って、#1さんのおっしゃる通りリストの範囲を、 使用したいブックにリンク貼り付けしておく方が便利 なのです。

noname#13076
質問者

お礼

ありがとうございます。 早速、説明のとおりにやってみました。 なのですが、私はどこか手順を間違えてしまったようで…。 Book2でBook1の名前を定義するところまではうまくゆきました。(と思います) なのですが、リストの「元の値」に「挿入」→「名前」→「貼り付け」→listとし、入力規則のダイアログボックスで「OK」をクリックしたところで「抽出条件データの入力規則で、他のワークシートまたは他のブックへの参照は使用しません。」というエラーが出てしまいました。 私のへたくそな説明でわかりにくいと思いますが、間違い箇所を教えていただけないでしょうか? よろしくお願いします。

  • sero
  • ベストアンサー率47% (916/1944)
回答No.1

別ブックのリストを直接入力規則の元リストに設定する事は出来ません。 ブック内のシートにリストにしたい別ブックの範囲をリンク貼り付けし、 その部分を元リストとする事は可能です。

noname#13076
質問者

お礼

やはりダメですか。 ありがとうございます。 リンクさせてやってみます。

関連するQ&A

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

    教えてください エクセルの入力規則で、シート1がリストの出力、シート2が リスト一覧というブックを作成しているのですが、 シート1でリストから選んだ場合シート2のフォントをそのまま 依存させることは可能なのでしょうか? シート1で普通に入力しているものとの差別化が欲しいのです。 変な質問で申し訳ございませんがアドバイスよろしくお願いします。

  • エクセルの入力規則のリストが効かない

    エクセルの入力規則でリストを設定していますが シート内の他のセルをいじっていると 突然リストを選択できなくなる時があります。 [データ]→[入力規則]の「ドロップダウンリストから選択する」はチェックされたままです。 こうなると一度ファイルを閉じても直りません。 新規ブックに全文をコピーしたら直りました。 新規ブックにシートコピーだと駄目です。 これはバグなのでしょうか?

  • EXCELのリスト(入力規則)

    EXCELのデータ→データの入力規則の設定で、 入力値の種類を「リスト」にして、 「元の値」を別シートの範囲指定にすると、 その時は指定した別シートの値が表示されるのですが、 EXCELを保存・終了して再度そのファイルを開くと、 設定したはずの入力規則が綺麗に消えてしまっています。 「元の値」を同シートの範囲指定にすると、 保存・終了しても消えずに残っています。 なぜでしょうか?

  • エクセルの入力規則リストについての質問です。

    エクセルの入力規則のリストですが、リストの範囲を別シートの氏名一覧に指定したいのですが上手くいきません。 また、リストの中に選択したい氏名が無い場合は直接入力できるようにしたいのですがかのうでしょうか?

  • EXCELの入力規則のコピー方法について

    EXCELで入力規則をリストの使用法で困っています。状況は以下の通りです。 (1)入力規則を指定するためのリストに同じワークブックの別シート上のリストを指定します。  (2)このファイルを複数作って、別々に入力します。 (3)複数のファイルを1つにまとめるために、あるブックから別のブックにデータを入力規則ごとコピーすると、コピーした入力規則のリスト範囲が絶対パスになってしまい、元のブックとの間にリンクが発生してしまいます。 同じファイルなので、コピー先のファイルにも入力規則を指定するためのリストは存在していますので、データーのコピー時に絶対パスではなくて、相対パスになるようにしたいのですが、何かよい方法はありますか?

  • EXCELの入力規則について

    EXCELの入力規則で入力値の種類をリストにした場合、元の値を別のシートにすることは出来ますか? 現在は他のシートから=で同一シートに引き込んでいますが直接、他のシートから読み込みたいのですが。

  • 入力規則のリストについて

    数日前にも同じ質問があり、回答例をしてみるのですが私には分からずできなかったので、再度質問させていただきます。 別のシートにあるデータを、入力規則のリストの元の値に入れたいのですが、どうすればよいのでしょうか?詳しくお教えください。 他のファイルからファイルでも使えるのでしょうか? 日々、Excelのいろんなことで悩んでいます。 よろしくお願いします。

  • エクセルで他のBookのデータを入力規則のリストに…

    エクセル(Excel2002)の入力規則についての質問です。 仮にBook1のsheet1のA列1~10行に元の値となるデータを作成し,これに「データ」と名前をつけます。 このデータをBook1とは異なるBook2のA列1行において入力規則の元のデータに設定しドロップダウンリストから選択することは可能でしょうか? Book1とBook2は同一フォルダにあります。 ご教示ください。

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

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

  • エクセルでの入力規則の設定について

    データの入力規則 → 設定 → リスト と進んでいって 元の値に 別のシートのデータを指定する方法があるでしょうか。

専門家に質問してみよう