ギリギリ行けるお一人様のライン

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

A 回答 (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)都道府県全県の数千の市区町村を対象にするなら
ケース文ではしつこいので別の方法を考えますが、取りあえずこういう方法もあると言うことで記します。
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/09/14 19:59

エクセルでも可能です。



A1に、都道府県名、B1に市町村名を入れるものとして、説明します。

まず、A1に入れるリストを作ります。
リストの中身は、北海道,青森,秋田,岩手,宮城・・・とします。

つぎに、B1に入れる、リストを作ります。
F1:F10に、北海道の市町村のリストを作ります。
そして、F1:F10に名前を付け、"北海道"と付けます。
G1:G10に、青森の市町村のリストを作ります。
そして、F1:F10に名前を付け、"青森"と付けます。
・・・
・・・

ここでつける、範囲の名前は、A1に入れるリストと同じ(北海道,青森,秋田,岩手,宮城・・・)でないと、うまくいきません。

B1のリストの設定をします。
入力値の種類・・・リスト
元の値・・・=INDIRECT(A1)

これで、望みどおりのことができると思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/09/14 20:01

ExcelではVLOOKUP関数と入力規則を組み合わせることで可能です。


が、この場合、全国の市町村リストのほかにも都道府県ごとに参照する表を設ける必要があります。もちろんすべてをひとつのシートにまとめておいて、非表示にすることも可能ですが。
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/09/14 20:02

アクセスでは、簡単です。


都道府県を選択した時点(change)で、選択した都道府県をキーに
市町村テーブルにクエリーを発行して表示するだけです。

エクセルでは・・・・、他の回答をお待ちくださいw
わかりません。
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/09/14 20:02

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


おすすめ情報