Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


71578 / 76738 ←次へ | 前へ→

【9653】Re:コンボボックスで選択、そしてまた次のコンボボックスで選択
質問  ぴ〜ちゃん  - 03/12/12(金) 1:39 -

引用なし
パスワード
   こんにちは、
似たような質問ですので
返信にて質問させて下さい。
VBA初心者です。宜しくお願いします。

ユーザーフォームを作り、そこにコンボボックス1、
コンボボックス2を作ります。
シート1にコンボボックス1で都道府県名を選択し、
コンボボックス2で、1で選択した都道府県の「区市郡」
を選択できるようにします。
   A    B      C     D
1  東京都  渋谷区    10000人  14000人
2  東京都  新宿区    20000人  25000人
3  東京都  港区     50000人  55000人
4  茨城県  水戸市    20000人  20000人
5  茨城県  つくば市   25000人  25000人
6  茨城県  ひたちなか市 20000人  15000人      
.   .    .
.   .    .
.   .    .

シート2の任意のセルを選択するとフォームが表示されて
シート1で選択したコンボボックス1、コンボボックス2で
1で選択した都道府県の「区市郡」を
記入しコンボボックス2で選択した区市郡の人口 C、Dを
合わせて貼り付けたいのです。

シート2のA6を選択し、コンボボックス1−東京、
コンボボックス2−港区を選択した場合はこのようにしたいです。
   A    B      C     D
1 
2 
3 
4 
5 
6  東京都  港区     50000人  55000人 

宜しくお願いします。

>
>A列が全て空白だった場合のエラー処理をしていませんが、
>A列の重複なしのデータを取り出すのにC列をワークで使いました。
>他の列が都合がよければ変更してください。
>当該フォームモジュールに・・・
>'===============================================================
>Sub set_combo_item(cmb As MSForms.ComboBox, func_str As String)
>'input: cmb データをセットするコンボボックス
>'input: func_str データ抽出のための関数式
>  Dim rng As Range
>  Dim rng2 As Range
>  Dim rng3 As Range
>  With ThisWorkbook.Worksheets(1)
>   Set rng = .Range("a1", .Range("a65536").End(xlUp))
>   End With
>  rng.Offset(0, 2).Formula = func_str
>  rng.Offset(0, 2) = rng.Offset(0, 2).Value
>  Set rng2 = rng.Offset(0, 2).SpecialCells(xlCellTypeConstants)
>  cmb.Clear
>  For Each rng3 In rng2
>   cmb.AddItem rng3.Value
>   Next
>  cmb.ListIndex = 0
>  rng2.Value = ""
>  Set rng = Nothing
>  Set rng2 = Nothing
>  Set rng3 = Nothing
>End Sub
>'==============================
>Private Sub ComboBox1_Change()
>  Dim func_str As String
>  func_str = "=if(a1=""" & ComboBox1.Text & """,b1,"""")"
>  Call set_combo_item(ComboBox2, func_str)
>End Sub
>'==========================================================
>Private Sub UserForm_Initialize()
>  Dim func_str As String
>  func_str = "=if(countif($a$1:a1,a1)>1,"""",a1)"
>  Call set_combo_item(ComboBox1, func_str)
>  func_str = "=if(a1=""" & ComboBox1.Text & """,b1,"""")"
>  Call set_combo_item(ComboBox2, func_str)
>End Sub
>
>A列の重複なしデータの抽出は、他にも方法がありそうですよ。

0 hits

【2574】コンボボックスで選択、そしてまた次のコンボボックスで選択 EBA 03/1/6(月) 11:07 質問
【2576】Re:コンボボックスで選択、そしてまた次のコ... ポンタ 03/1/6(月) 16:53 回答
【2659】Re:コンボボックスで選択、そしてまた次のコ... EBA 03/1/9(木) 17:31 お礼
【2577】Re:コンボボックスで選択、そしてまた次のコ... ichinose 03/1/6(月) 16:55 回答
【2596】Re:コンボボックスで選択、そしてまた次のコ... EBA 03/1/7(火) 13:16 お礼
【2604】Re:コンボボックスで選択、そしてまた次のコ... ichinose 03/1/7(火) 18:41 発言
【2614】Re:コンボボックスで選択、そしてまた次のコ... EBA 03/1/8(水) 10:39 お礼
【9653】Re:コンボボックスで選択、そしてまた次のコ... ぴ〜ちゃん 03/12/12(金) 1:39 質問
【9697】Re:コンボボックスで選択、そしてまた次のコ... ichinose 03/12/13(土) 2:48 回答
【9698】Re:コンボボックスで選択、そしてまた次のコ... ichinose 03/12/13(土) 9:52 発言
【9701】Re:コンボボックスで選択、そしてまた次のコ... ぴ〜ちゃん 03/12/14(日) 0:40 質問
【9703】Re:コンボボックスで選択、そしてまた次のコ... ぴ〜ちゃん 03/12/14(日) 9:07 お礼
【18724】Re:コンボボックスで選択、そしてまた次... ぴ〜こ 04/10/7(木) 15:23 質問
【18734】Re:コンボボックスで選択、そしてまた次... ichinose 04/10/7(木) 20:12 発言
【18735】Re:コンボボックスで選択、そしてまた次... ぴ〜こ 04/10/7(木) 20:53 質問
【18736】Re:コンボボックスで選択、そしてまた次... ichinose 04/10/7(木) 21:27 発言
【18752】Re:コンボボックスで選択、そしてまた次... ぴ〜こ 04/10/8(金) 20:55 お礼

71578 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free