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