効率化からプライベートの時間を創る







VBAのユーザーフォームでリストボックスの使い方

WRITER
 
VBA_リストボックス
この記事を書いている人 - WRITER -
Excel歴15年。パソコン講座を数十回以上実施し、就職や転職、復職の支援も行っています。Excelの基本操作から関数、マクロ、VBAまで仕事で便利だったことを中心に書いていますので、お仕事の時間短縮にお役に立てれば幸いです。
詳しいプロフィールはこちら

前回の記事ではユーザーフォームの一つであるコンボボックスを説明しましたが、今回の記事ではユーザーフォームを使用したリストボックスの使い方について紹介します。

個人的にはコンボボックス以上にリストボックスは使う頻度が多いため、是非この記事を読んで参考にしていきましょう。

 

VBAのリストボックスとは?

VBAのリストボックス4

VBAのユーザーフォームでリストボックスを使用するととても便利です。例えば上の画像のように、Excelのsheet上の文字にアレンジしてフォームに初期表示することも簡単にできます。

 

ユーザーフォームでリストボックスの使い方

今回は下の図のように、A2からA6に入力されている文字をリストボックスに反映してみます。

下準備として、A2からA6のセルには先に文字を入力しておきましょう。

VBAのリストボックス2

まずはExcel上でAlt+11を押し、その後ユーザーフォームを挿入します。

続いて、ツールボックスの中からリストボックスを選択し、表示したい場所に左上から右下にドラッグします。

VBAのリストボックス1

Excelのsheet上、A2からA6に入力されている場合は以下のコートで表示させることができます。

ListBox1.AddItem を使用することで、リストボックスに反映することができます。For Next関数は後日紹介したいと思いますが、繰り返し行う動作であり、行数を指定するときなどに便利です。

 

最終行まで取得し、リストボックスに反映する

先ほどの入力方法では指定した行までとなるため、もし7行目や8行目が追加したらその都度コードを修正する必要があります。

しかしVBAの場合は便利なので、入力した行が増えても自動的に最終の行まで範囲としてくれる方法があります。

以下のようにコードを変更しましょう。

VBAのリストボックス3

このように最終の行まで自動的に表示されるようになります。

 

Cells(Rows.Count, 1).End(xlUp).RowがA列の最終行を意味しています。

最終行の取得方法は複数ありますので、詳しくは以下の記事も見てみましょう。

Excelのsheet上のセルに自動で同じ文字をくっつける方法

VBAのリストボックス4

上の画像のように、全ての文字に「商品」とくっつけたい場合は、以下のように入力することで解決します。

 

&を使用することで任意の文字をくっつけることができる。文字を入れるときは””で挟む必要があるので注意

 

まとめ

今回はユーザーフォームのリストボックスについて紹介しました。

商品名や人物名、住所の選択など、リストボックスを使用することと便利な場合は多あります。

 

Excelの機能を使いこなすと、仕事の効率化から大きな時間短縮に繋がります。

仕事術のスキルが増えるとプライベートの時間を時間を増やすことができますので、当サイトで得た知識を是非活用していきましょう。
以下のExcel記事もおすすめです。

この記事を書いている人 - WRITER -
Excel歴15年。パソコン講座を数十回以上実施し、就職や転職、復職の支援も行っています。Excelの基本操作から関数、マクロ、VBAまで仕事で便利だったことを中心に書いていますので、お仕事の時間短縮にお役に立てれば幸いです。
詳しいプロフィールはこちら









- Comments -

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Copyright© Excel仕事術ブログ , 2024 All Rights Reserved.