プロが教えるわが家の防犯対策術!

やりたいことが難しそうなので、できないかもしれませんが、
もしかしたらと思い投稿しました。
まず、エクセルファイル「book1.xls」「book2.xls」「マスター.xls」
を用意します。
どのファイルにもA1~A5に東京、神奈川、千葉、埼玉、茨城と
入力したとします。このA1~A5に都道府県という名前を付けます。
B1にはドロップダウンリストをつくり、都道府県と名づけたセルの内容
が選択できるようにします。
   A    B
1 東京 ドロップダウンリスト
2 神奈川
3 千葉
4 埼玉
5 茨城
ここで「マスター.xls」のA6に栃木と入力し、A1~A6の名前を都道府県
に変更したとします。この時B1のリストの項目は5から6に増えています。
私がやりたいのは、上記のように「マスター.xls」を変更したとき、
「book1.xls」「book2.xls」にも自動的に同様の変更がおこるように
したいのです。
ファイルが3つだったら1つずつ直せばよいですが、実際に私がやろう
としているのは50個くらいあるので、1つずつ直すのは手間がかかり
ます。そこで、1つのファイルのドロップダウンリストの項目を変更
すると他のファイルも同様に変更が加わるような仕組みをつくりたい
のです。
どのような方法でもかまいませんが、マクロを使うなら、
入力すべきコードを正確に教えてください。
よろしくお願いします。

A 回答 (1件)

>「マスター.xls」を変更したとき、「book1.xls」「book2.xls」にも自動的に同様の変更がおこる...


ではなく、「book1.xls」「book2.xls」を開いた時に「マスター.xls」の最新データを取り込む、
でいいんじゃないでしょうか。
[外部データの取り込み]を使って、マクロも不要な仕様です。

最初に「book1.xls」「book2.xls」...各ファイルを作成する時に仕込みます。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/filte …
ここを参考に、各ファイルに対して、[外部データの取り込み]で「マスター.xls」のマスターシートの
A列だけを取り込む設定をします。

その時、[外部データ範囲のプロパティ]で『ファイルを開くときにデータを更新する』にチェックを入れておけば
各ファイルを開いた時に「マスター.xls」の最新データを取り込む事ができます。

[外部データの取り込み]を設定した範囲はデフォルトで[Excel Files からのクエリ]という名前がつきますから
入力規則のリストに
=Excel_Files_からのクエリ
と設定すれば良いです。
「【エクセルVBA】ドロップダウンリストに」の回答画像1
    • good
    • 0

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