目次
環境
Windowsの仕様
エディション:Windows 10 Pro
バージョン:20H2
経緯
VBAを使って、ユーザーフォームを作っていました。プルダウンを使って、値を選択するときに私は、
「.AddItem」を使って、値を選択できるようにしていましたが、選択する値が増える度に、「.AddItem」の行を増やして、美しくありませんでした。
なので、今回もっとうまくできないか勉強しました。
「ComboBox」を使って、Excelのセルを読み込む
「ComboBox」を使うとうまくいきました。
やり方です。
まず、ユーザーフォームから「表示」→「ツールボックス」を開きます。
ツールボックス中から「コンボボックス」を選んで、ユーザーフォームの中に貼ります。
次にプログラムです。
Dim 最終行H As Integer Dim i As Integer 最終行H = Worksheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Row For i = 3 To 最終行H ComboBox1.AddItem Worksheets("sheet1").Range("H" & i).Value Next i
コードの説明をします。
1行目、変数を宣言してます。
2行目、変数の宣言しています。
3行目、変数「最終行H」にsheet1の最終行を取得しています。
4行目、For文です。「3行目から最終行まで」って意味です。
5行目、ここで「ComboBox」の命令です。sheet1のH列にある値を取得しています。
6行目、nextで4行目に戻ります。
まとめ
文章で伝えるのが難しかったのですが、
例えばこれを使って、
.AddItem "東京" .AddItem "埼玉" .AddItem "神奈川" ....
と繋げなくても、ExcelのsheetのH列に都道府県を書けば、プルダウンで選べるようになりますよ。
参考になれば、幸いです。
ここまで読んでいただきありがとうございました。