• 締切済み

教えてください。

たとえば、データを入力するときにリストから選択して都道府県を入力し、次に、選択した都道府県に関する市町村をリストから入力する時、全国の市町村をリスト表示するのでなく、前に選択した都道府県にに関する市町村のみをリストで表示したいです。エクセルで可能ですか。アクセスでは?

みんなの回答

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

エクセルVBAでやって見ました。 (1)Sheet4にListBoxを2つ貼りつけます。 ListBox1とListBox2になります。 (2)標準モジュールに Sub test02() Worksheets("sheet4").ListBox1.ListFillRange = "a1:a4" End Sub をコピペします。偶々Sheet4を使っています。 A1:A4は青森、岩手、宮城、秋田とデータを入れます。 (2)C1:C9に 青森市 弘前市 五所川原市 盛岡市 花巻市 釜石市 仙台市 塩釜市 気仙沼市 秋田市 能代市 大舘市 といれます。 (3)ListBox1のクリックイベントに Private Sub ListBox1_Click() s = ListBox1.List(ListBox1.ListIndex) ' MsgBox s Select Case s Case "青森" Worksheets("sheet4").ListBox2.ListFillRange = "c1:c3" Case "岩手" Worksheets("sheet4").ListBox2.ListFillRange = "c4:c6" Case "宮城" Worksheets("sheet4").ListBox2.ListFillRange = "c7:c9" Case "秋田" Worksheets("sheet4").ListBox2.ListFillRange = "c10:c12" End Select End Sub をコピペします。 (3)ListBox2のクリックイベントに Private Sub ListBox2_Click() ActiveCell = ListBox2.List(ListBox2.ListIndex) End Sub をコピペします。 (4)デザインモードを脱し、市名をセットしたいセルを マウスでポイントし、ListBox1の青森をクリックするとListbox2には青森市と弘前市、五所川原市が出ます。そこで青森市をクリックすると、青森市がセットできます。 (5)都道府県全県の数千の市区町村を対象にするなら ケース文ではしつこいので別の方法を考えますが、取りあえずこういう方法もあると言うことで記します。

seigapapa
質問者

お礼

ごめんなさい。1週間かけてやってみましたがうまくいきませんでした。

すると、全ての回答が全文表示されます。
  • ki-aaa
  • ベストアンサー率49% (105/213)
回答No.3

エクセルでも可能です。 A1に、都道府県名、B1に市町村名を入れるものとして、説明します。 まず、A1に入れるリストを作ります。 リストの中身は、北海道,青森,秋田,岩手,宮城・・・とします。 つぎに、B1に入れる、リストを作ります。 F1:F10に、北海道の市町村のリストを作ります。 そして、F1:F10に名前を付け、"北海道"と付けます。 G1:G10に、青森の市町村のリストを作ります。 そして、F1:F10に名前を付け、"青森"と付けます。 ・・・ ・・・ ここでつける、範囲の名前は、A1に入れるリストと同じ(北海道,青森,秋田,岩手,宮城・・・)でないと、うまくいきません。 B1のリストの設定をします。 入力値の種類・・・リスト 元の値・・・=INDIRECT(A1) これで、望みどおりのことができると思います。

seigapapa
質問者

お礼

ごめんなさい。1週間かけてやってみましたがうまくいきませんでした。市町村名が”0”となってしまいます。

すると、全ての回答が全文表示されます。
  • Hageoyadi
  • ベストアンサー率40% (3145/7860)
回答No.2

ExcelではVLOOKUP関数と入力規則を組み合わせることで可能です。 が、この場合、全国の市町村リストのほかにも都道府県ごとに参照する表を設ける必要があります。もちろんすべてをひとつのシートにまとめておいて、非表示にすることも可能ですが。

seigapapa
質問者

お礼

ごめんなさい。1週間かけてやってみましたがうまくいきませんでした。市町村名が”0”となってしまいます。

すると、全ての回答が全文表示されます。
  • yosa
  • ベストアンサー率16% (28/170)
回答No.1

アクセスでは、簡単です。 都道府県を選択した時点(change)で、選択した都道府県をキーに 市町村テーブルにクエリーを発行して表示するだけです。 エクセルでは・・・・、他の回答をお待ちくださいw わかりません。

seigapapa
質問者

お礼

ご回答ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A