5-1 リストにセル範囲を設定するリストボックス 2021.11.16
次の書籍の第1章~5章を公開しています。
「Excel VBA 逆引きで学ぶ ユーザーフォーム&コントロール」
RowSourceプロパティは、セル範囲をリストとして設定します。
プロパティウィンドウでの設定
シート名!セルアドレスを直接入力します。
【例】「Sheet1」シートのセル範囲[A2:A8] → Sheet1!A2:A8
サンプルコード①
リストボックスに「Sheet1」シートのセル範囲[A2:A8]を設定する
Private Sub UserForm_Initialize() ListBox1.RowSource = "Sheet1!A2:A8" End Sub
サンプルコード②
「Sheet1」シートのデータが動的に増減する場合に対応セル範囲を設定する
Private Sub UserForm_Initialize() Dim strAddress As String Dim r As Range strAddress = "Sheet1" '対象シート名 With Worksheets(strAddress) 'A列(2行目から)のデータ範囲を取得 Set r = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp)) End With strAddress = strAddress & "!" & r.Address(False, False) ListBox1.RowSource = strAddress Set r = Nothing End Sub
書籍紹介140以上のサンプルファイル付き!
知りたいがすぐわかる! やりたいがすぐできる!
「Excel VBA 逆引きで学ぶ ユーザーフォーム&コントロール」(Kindle版)
ユーザーフォームを扱えると、VBAでできることが大きく広がります!
本書では、知りたいこと、やりたいことから、逆引きで学びを深められます。
■ 購入:amazon