エクセル VBA リストについて
エクセル VBA リストについて
ComboBox3が例えばAなら
ComboBox5にリストを入れたい
同じBookにSheet”masuta"がありそこに
U1 V1 W1 X1
A B C D
U列の下には”A"があり、Aの項目を入れ込んでいます。
ComboBox3が”A”と表示させた場合
ComboBox5はU列のU3以降の項目が入るようにしたいのですが
Set wbMyBook = Workbooks(strMyBookName)エラー表示され
型の一致がしないと表示されます!
このBookの格納はしているつもりなのですが上手く
回避できません教えて下さい。
それと下の記述をどのように変化させれば良いか
アドバイスお願いします。
Private Const WBHName = "k2.xls"
Private Const SH1Name = "Sheet1"
Private Const wsListName = "masuta"
Dim lngYcnt_List As Long '使用行を格納
Dim wbMyBook As Workbook 'このブックをセット
Dim wsList As Worksheet 'リストシートをセット
Dim strMyBookName As String 'このブックの名前を格納
Private Sub ComboBox3_Change()
Dim lng As Long
'使用するブックとシートをセット
Set wbMyBook = Workbooks(strMyBookName)
Set wsList = wbMyBook.Worksheets(wsListName)
'リストシートの使用行を格納
lngYcnt_List = wsList.Range("masuta!U1:X1").CurrentRegion.Rows.Count
'コンボボックスComboBox1のクリア・フラグをfalseにする。
ComboBox5.Clear
flag = False
'同じ数字のもののコンボボックスComboBox1に追加。
For lng = 1 To lngYcnt_List
If ComboBox3.Value = wsList.Cells(lng, 21) Then
'ComboBox1,TextBox8,呼吸具体策に表示する。
ComboBox5.AddItem wsList.Cells(lng, 21)
End If
If ComboBox3.Value = wsList.Cells(lng, 22) Then
ComboBox5.AddItem wsList.Cells(lng, 22)
End If
If ComboBox3.Value = wsList.Cells(lng, 23) Then
ComboBox5.AddItem wsList.Cells(lng, 23)
'処理を抜けるExit For
flag = True
End If
Next lng
End Sub
お礼
できました。ありがとうございました。