教えて!ExcelVBA!

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

【ExcelVBA フォーム&コントロール】コンボボックスのドロップダウンリストに表示する最大行数を設定する方法を教えて!

構文

構文は以下の通りです。

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

解説

コンボボックスの最大行数を設定するには、ListRowsプロパティを使用します。このプロパティは、コンボボックスのドロップダウンリストに表示される項目の最大数を指定します。ListRowsプロパティに最大の行数を代入することで、ドロップダウンリストに表示される項目の数を制御できます。

使い方

具体的な使い方を紹介します。

Private Sub UserForm_Initialize()
    ' フォームが初期化されるときに実行されるコード
    ComboBox1.ListRows = 10 ' 最大行数を10に設定
End Sub

このコードは、フォームが初期化される際に実行され、コンボボックスの最大行数を10に設定しています。必要に応じて他の初期化処理を追加することもできます。

プログラミング例

以下に、プログラミング例を紹介します。

Private Sub UserForm_Initialize()
    ' フォームが初期化されるときに実行されるコード
    Dim lastRow As Long
    lastRow = Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
    ' 最大行数を設定
    ComboBox1.ListRows = lastRow
    ' データをコンボボックスに読み込む
    ComboBox1.List = Sheets("Sheet1").Range("A1:A" & lastRow).Value
End Sub

この例では、Sheet1のA列にあるデータをコンボボックスに読み込んでいます。最大行数はlastRowで取得し、それをListRowsに設定しています。

まとめ

コンボボックスのドロップダウンリストの最大行数を設定することは、効率的なデータ管理や処理の一環となります。ListRowsプロパティを使って、簡単に最大行数を制御できます。是非活用してください。