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

4-1 リストにセル範囲を設定するコンボボックス   2021.11.16

次の書籍の第1章~5章を公開しています。
「Excel VBA 逆引きで学ぶ ユーザーフォーム&コントロール」

目次  前頁   次頁  索引

RowSourceプロパティは、セル範囲をリストとして設定します。


プロパティウィンドウでの設定

シート名!セルアドレスを直接入力します。
【例】「Sheet1」シートのセル範囲[A1:A7] → Sheet1!A1:A7


サンプルコード①

コンボボックスに「Sheet1」シートのセル範囲[A1:A7]を設定する

Private Sub UserForm_Initialize()
    ComboBox1.RowSource = "Sheet1!A1:A7"
End Sub

サンプルコード②

「Sheet1」シートのデータが動的に増減する場合に 対応セル範囲を設定する

Private Sub UserForm_Initialize()
    Dim strAddress As String
    Dim r As Range
    strAddress = "Sheet1" '対象シート名
    With Worksheets(strAddress) 'A列のデータ範囲を取得
        Set r = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
    End With
    strAddress = strAddress & "!" & r.Address(False, False)
    ComboBox1.RowSource = strAddress
    Set r = Nothing
End Sub

書籍紹介140以上のサンプルファイル付き!

知りたいがすぐわかる! やりたいがすぐできる!
「Excel VBA 逆引きで学ぶ ユーザーフォーム&コントロール」(Kindle版)
ユーザーフォームを扱えると、VBAでできることが大きく広がります!
本書では、知りたいこと、やりたいことから、逆引きで学びを深められます。

■ 購入:amazon

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