コントロール【ListBox】



コントロール【ListBox】

どうもtakaです、今回は数あるVBAのコントロールの中でも一番奥深いと個人的に思っている【ListBoxコントロール】についてご紹介していきたいと思います( ^ω^ )

Listboxコントロールとはその名の通りデータのリストを表示させるコントロールです、Excel上に保存された文字列のデータをList状に表示させることで可読性を向上させるなどの効果が期待できます(^^♪

ListBoxコントロールの設置

ListBoxコントロールはデフォルトで用意されています。

ListBoxコントロールの使い方

Listboxへデータを表示させる方法など簡単な使い方をご紹介していきます(^^♪

Listboxにデータを表示させる方法

まずListboxにデータを登録するには【Additemメソッド】を使用します、まず↓のようなフォームを用意してボタンを押して下記のコードを実行してみてください。

↑のようにサンプルデータが100件表示されたのではないでしょうか?

もしExcelのセルのデータを取得したい場合は↓のようにAddItem にセルを指定してあげればOKです(^^)b

選択されている位置・データの取得

Listboxで選択しているデータを取得するにはTextプロパティ】、選択されているかを取得するにはLisutIndexプロパティ】を使用します。

下記のコードは先ほどの状態のListboxをクリックすると選択された位置とデータを取得します

注意点
Listboxの位置は一番上が【0】から始まります、なので上記の画像は【位置が9、サンプルデータ10を選択】しているという状況になるのです(;´・ω・)

Listboxのデータの件数を取得する

Listboxのデータの件数を取得するには【Listcountプロパティ】を使用します(^^♪

リストの表示方法②

今までListboxの表示させるのに【For~Next】を使用してご紹介してきました、ですがこの方法は数が少ないときよく使う方法です(;´・ω・)

というのもこの方法ですと数千、数万のデータを表示させるときに時間がかかってしまうからです(;^ω^)

試しに2万件のサンプルデータをListboxに表示させてみます。

使用したコードはこちらです

何度かやりましたが結果は1秒後半でした(PCスペックによると思いますが・・・

次に【Listプロパティ】を使用して表示させる方法を実行してみます。

0.016秒という驚異的なスピードで終了しました(笑)予想より差が出て自分でもびっくりです(;´・ω・)

ListBoxに登録されているデータというのは配列形式に格納されて、これはListプロパティで操作できますので、このデータを表示させることで【For~Next】では時間がかかってしまう処理も一瞬で終わるようになります(^^♪

ブログの購読・ブログランキング

 

【E-VBA】の更新通知を受け取る場合はこちら↓


【E-VBA】はブログランキングに登録しています(∩´∀`)∩

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

人気ブログランキングへ

ファイルやコードの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。



コメントを残す

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

ABOUTこの記事をかいた人

あることがキッカケでVBAを独学で勉強している、非IT企業の会社員。 今はVBAで出来ることを模索しながら別の開発言語の取得、基本情報技術者試験合格が目標