- 締切済み
EXCEL コンボボックスのリスト設定
リストインデックスが複数ある場合は動くのですが、 インデックスが0 もしくは1個しかない場合は、どのように処理を追加したらいいでしょうか。。 実行時エラー381 Lisプロパティを設定できません。プロパティの配列のインデックスが無効です、と メッセージが出ます。 いろいろ試してるのですがわかりません。 コンボボックスの値は別シートで参照先を指定しています。 ----------- Private Sub ComboBox3_DropButtonClick() Dim lRow As Long Dim i As Long, myCnt As Long Dim myData With Worksheets("部門名") lRow = .Range("O" & Rows.Count).End(xlUp).Row ’O列の最終行を確認 myData = .Range("O2:O" & lRow).Value ’コンボボックスのリストデータ End With With ComboBox3 .ColumnCount = 1 .ColumnWidths = "50" .List = myData End With End Sub
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- watabe007
- ベストアンサー率62% (476/760)
ListプロパティではなくRowSourceプロパティを使うとそのような現象は起きないですね Private Sub ComboBox3_DropButtonClick() Dim lRow As Long lRow = Worksheets("部門名").Range("O" & Rows.Count).End(xlUp).Row With ComboBox3 .ColumnCount = 1 .ColumnWidths = "50" .RowSource = Worksheets("部門名").Range("O2:O" & lRow).Address(External:=True) End With End Sub
- watabe007
- ベストアンサー率62% (476/760)
>リストインデックスが複数ある場合は動くのですが、 なら複数ある状態を作ってやれば如何でしょうか >lRow = .Range("O" & Rows.Count).End(xlUp).Row ’O列の最終行を確認 If lRow < 3 Then lRow = 3 >myData = .Range("O2:O" & lRow).Value ’コンボボックスのリストデータ