トップ > 逆引きで学ぶ ユーザーフォーム&コントロール > 5-1 リストにセル範囲を設定する

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

ページトップへ戻る
Copyright(C) 2009- 坂江 保 All Rights Reserved.