教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAでフォーム内のコンボボックスのドロップダウンリストに表示する最大行数を設定する方法

構文

構文は以下の通りです。

コンボボックス名.ListRows = 行数

解説

コンボボックス名.ListRowsは、フォーム内のコンボボックスに表示されるドロップダウンリストの最大行数を設定します。デフォルトでは8行が表示されますが、必要に応じて表示する行数を変更することができます。例えば、ListRows = 5と設定すると、ドロップダウンリストには最大で5行までしか表示されません。行数を減らすと、リストが小さく表示され、スクロールバーが表示される場合もあります。

プログラミング例

具体的なプログラミング例を紹介します。

(例1)コンボボックスに表示される行数を5に設定する

Sub コンボボックス行数設定()
    ' コンボボックスの名前は "コンボボックス1" と仮定します
    Dim コンボボックス As ComboBox
    ' コンボボックスの参照を取得
    Set コンボボックス = UserForm1.コンボボックス1
    ' ドロップダウンリストの表示行数を5に設定
    コンボボックス.ListRows = 5
End Sub

上記のプログラムは、コンボボックス.ListRows = 5で、ドロップダウンリストに表示する最大行数を5に設定しています。

(例2)コンボボックスに表示される行数を10に設定する

Sub コンボボックス行数設定_10行()
    ' 別の例として、10行に設定
    Dim コンボボックス As ComboBox
    ' コンボボックスの参照を取得
    Set コンボボックス = UserForm1.コンボボックス1
    ' ドロップダウンリストの表示行数を10に設定
    コンボボックス.ListRows = 10
End Sub

上記のプログラムは、リストに最大10行まで表示するように設定しています。基本的な手順は前の例と同じですが、ListRowsの値が異なります。

まとめ

ListRowsを使うことで、コンボボックスのドロップダウンリストに表示される行数を自由に設定できます。フォームのコンボボックスが持つリストが長い場合、表示する行数を減らしてスクロールバーを表示するなど、ユーザビリティを向上させることができます。この設定により、表示エリアを調整して画面のスペースを有効活用することができます。