Excel VBA質問箱 IV

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

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


10307 / 13646 ツリー ←次へ | 前へ→

【22581】コンボボックスについて たかし 05/2/24(木) 13:01 質問[未読]
【22583】Re:コンボボックスについて IROC 05/2/24(木) 13:11 回答[未読]
【22588】Re:コンボボックスについて たかし 05/2/24(木) 13:53 質問[未読]
【22590】Re:コンボボックスについて IROC 05/2/24(木) 14:24 回答[未読]
【22591】Re:コンボボックスについて IROC 05/2/24(木) 14:35 回答[未読]
【22593】Re:コンボボックスについて たかし 05/2/24(木) 14:55 お礼[未読]
【22586】Re:コンボボックスについて Jaka 05/2/24(木) 13:24 回答[未読]

【22581】コンボボックスについて
質問  たかし E-MAIL  - 05/2/24(木) 13:01 -

引用なし
パスワード
   A  B  C  D   
1  1 A社 担当A
2  1 A社 担当B
3  2 B社 担当C
4  2 B社 担当D
5  3 C社 担当E

上記のような表を作りました。
UserFormでComboBoxを使うときに、ComboBox1でC列の会社名を選択し、
ComboBox2のリストにはComboBox1で選択した会社の担当者のみを
プルダウンリストに表示させる方法はありますか?
ComboBox1でB社を選択すると、ComboBox2のリストには担当者Cと担当者D
が表示される。と、いったのも。
宜しくお願いします。

【22583】Re:コンボボックスについて
回答  IROC  - 05/2/24(木) 13:11 -

引用なし
パスワード
   1行目にタイトル行を付けて、
ComboBox1の値でオートフィルタして抽出された行だけを
ComboBox2にAdditemで追加する。
もしくは、
ComboBox1の値でフィルタオプションで別のシートに抽出し、
ComboBox2にRowSourceで設定する。
もしくは、
For〜Nextでループして、IF文で判定して一致した行のデータだけを
ComboBox2にAdditemで追加する。

等々、いくらでも考えることができると思います。

【22586】Re:コンボボックスについて
回答  Jaka  - 05/2/24(木) 13:24 -

引用なし
パスワード
   こんにちは。

コンボボックスとリストボックスの違いがありますが、コードはあまり変わりません
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=84;id=FAQ

【22588】Re:コンボボックスについて
質問  たかし E-MAIL  - 05/2/24(木) 13:53 -

引用なし
パスワード
   ▼IROC さん:
>1行目にタイトル行を付けて、
>ComboBox1の値でオートフィルタして抽出された行だけを
>ComboBox2にAdditemで追加する。

この方法が簡単そうなのですが、どうなのでしょう?
言い忘れていましたが、VBA勉強中で、知らないことが多くてすみません。
Additemって??どう書けばいいのでしょうか?
すみません。

【22590】Re:コンボボックスについて
回答  IROC  - 05/2/24(木) 14:24 -

引用なし
パスワード
   Jakaさんがリンク先に掲載されているプログラムが
かなり参考になると思いますが、見てみましたか?


>Additemって?
Additemメソッドです。
基本的なことは、VBAのヘルプに載っていますよ。
ヘルプはインストールしてありますか?

【22591】Re:コンボボックスについて
回答  IROC  - 05/2/24(木) 14:35 -

引用なし
パスワード
   サンプルを載せておきますので、参考にして下さい。


Private Sub ComboBox1_Change()
Dim r As Range
  
  ComboBox2.Clear
  
With Worksheets("Sheet1")
  
  .AutoFilterMode = False
  .Columns("A:D").AutoFilter Field:=3, Criteria1:=ComboBox1.Value
  
  For Each r In .Range("D2:D" & .Range("D65536").End(xlUp).Row). _
          SpecialCells(xlCellTypeVisible)
    ComboBox2.AddItem r.Value
  Next r

  .AutoFilterMode = False
End With
End Sub


Private Sub UserForm_Initialize()
Dim i As Long
With Worksheets("Sheet1")
  For i = 2 To .Range("A65536").End(xlUp).Row
    ComboBox1.AddItem .Cells(i, 3).Value
    ComboBox2.AddItem .Cells(i, 4).Value
  Next i
End With
End Sub

【22593】Re:コンボボックスについて
お礼  たかし E-MAIL  - 05/2/24(木) 14:55 -

引用なし
パスワード
   ▼IROC さん:
参考にさせていただきます。
jakaさんのリンクも、只今解読しながら勉強しています。
ありがとう御座いました。

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