|
|
| Excel VBA Macro ・ コンボボックス・コントロール ・ FAQ |
|
コンボボックス1の値に応じてコンボボックス2のリストを変化させるには?
|
|
|
|
Question 80.6 |
Excel VBA Borad (掲示板)より |
 |
 |
|
|
はじめまして・・・。 超ド級の初心者です。
EXCELに、右図のListがあるとします。
1つ目のコンボボックスで文具を選択したとき、文具に関するデータしか出ないようにするにはどうすれば、良いでしょうか?
文具 => えんぴつ・ノート・ペン
PC => キーボード・マウス が表示されるようにしたいのですが、教授いただけますでしょうか?? よろしくお願いいたします。
なお、コンボボックスは、図のシートと同じBook内のシート名:Sheet1へ、コントロールツールボックスから追加したものです。
|
|
|
コンボボックス1の値に応じて、コンボボックス2のリストを変化させたいのですね。
色々な方法があるうちの一例ですが、質問の例のように、選択肢の数が少ない場合は以下のようにするのが簡単なような気がします。
Private Sub ComboBox1_Change()
Dim Pc
Dim Bng
Pc = Array("キーボード", "マウス")
Bng = Array("えんぴつ", "ノート", "ペン")
With Me
Select Case .ComboBox1.Value
Case "PC": .ComboBox2.List = Pc
Case "文具": .ComboBox2.List = Bng
End Select
.ComboBox2.ListIndex = 0
End With
End Sub
Private Sub ComboBox1_GotFocus()
Dim myItem
myItem = Array("文具", "PC")
Me.ComboBox1.List = myItem
End Sub
Sheet1のシート見出しを右クリックして、コードの表示をクリックした時に出てくる、コードウィンドウに貼り付けてくださいね。 コンボボックスのオブジェクト名はそれぞれ、ComboBox1、ComboBox2 とします。
|
|
|
|
大変有難きご教授有難うございました。私も頑張って、シロさんのような立派なVBを組める人間になろうと思います。(^^)
|
|
|
|
| |
|
|