【VBA入門】ListViewコントロールでデータ一覧を操作する方法とは

皆さんは、VBAでListViewコントロールを使ったことがありますか?

データ一覧を操作する処理を作りたい場合、ListViewコントロールの使い方を覚えておくと便利です。

そこで今回は、

・ListViewコントロールとは

といった基礎的なことから、

・ListViewコントロールの使い方

・ListViewコントロールを使ったサンプルコード

・合わせて覚えると便利なファイル・フォルダ削除方法とは

といった応用的な方法まで、徹底的に解説します!

ListViewコントロールとは

はじめに、ListViewコントロールについて解説します。

ListViewコントロールは、Excelの画面を作るときに使うユーザーフォームのコントロールの一つです。

ListViewコントロールを使うと、次のように一覧形式のデータを使った処理を作ることができます。

Excelは一覧データを使うことが多いので、ListViewコントロールを使って一覧データを操作する方法を覚えておくと便利です。

ListViewコントロールの使い方

次に、ListViewコントロールの使い方について解説します。

ListViewコントロールをツールボックスに追加する方法

まずは、ListViewコントロールを使うための準備について解説します。

ListViewコントロールは、ユーザーフォームで最初から使えるコントロールにないため、使うための設定が最初に必要です。

追加方法は次のとおりです。

1. ユーザーフォームのコントロールで右クリックして、「その他のコントロール」を選択

2. 「Microsoft ListView Control, version X.X」を選択してOKボタンクリック

これでListViewコントロールを追加できました。

追加すると、ツールボックスに以下のようにコントロールが追加されます。

ListViewコントロールの追加方法

次に、ListViewコントロールをユーザーフォームに追加する方法について解説します。

他のコントロールと同じように、ユーザーフォームにドラッグして次のように追加します。

ListViewコントロールのおすすめ初期設定

次に、ListViewコントロールの見栄えを整える初期設定のコードについて解説します。

ユーザーフォームを開いたときの初期処理に「UserForm_Initialize」に、つぎのようなコードを書きます。

初期設定のコード:

初期設定後の画面:

それぞれのプロパティの意味は、次のとおりです。

  • Viewプロパティ:データの見せ方を指定
  • Gridlinesプロパティ:グリッド線の表示・非表示設定
  • FullRowSelectプロパティ:行全体選択可・不可を設定
  • AllowColumnReorderプロパティ:列幅の変更可・不可を設定

Viewプロパティはデータの見せ方を変えることができますが、一覧形式でデータを表示する場合は基本的にlvwReportを使うので、特に意識しなくてもOKです。
※「lvwReport」以外にも「lvwIcon」「lvwList」「lvwSmallIcon」

ここでは、lvwReportを使って解説していきますね。

列の追加方法

次に、一覧データに列を追加する方法について解説します。

列は次のように書くことで、追加することができます。

例えば、Noファイルパスの名前の列を追加するときは、次のように書きます。

Noとファイルパスの列を追加したサンプルコード:

実行画面:

このように、簡単に列を追加することができます。

データの追加方法

次に、リストにデータを追加する方法について解説します。

1列目に追加する場合と、2列目以降に追加する場合で書き方が違います。

1列目・2列目以降のデータの追加方法:

先ほどのコードにテストデータを追加すると、次のようになります。

サンプルコード:

実行結果:

これで、ListViewコントロールに一覧データができました。

チェックボックスを付ける方法

次に、チェックボックスを付ける方法について解説します。

次のようにプロパティを追加することで、簡単にチェックボックスを付けることができます。

サンプルコードの画面初期化処理に、チェックボックスを付ける処理を追加しました。

サンプルコード:

実行結果:

これで、チェックボックスを表示したListViewのデータを表示することができました。

チェックボックスで選択した値を表示するサンプルコード

次に、サンプルコードをもとに具体的な使い方を解説します。

さきほど解説したチェックボックス付きのデータ一覧を表示するサンプルに、チェックボックスにチェックを入れた値を表示する処理を追加したサンプルを用意しました。

処理を実行するためにボタンを追加し、ボタンのクリック処理でチェックした値をメッセージで表示するようにしています。

チェック時の画面:

チェック項目の確認ボタン(CommandButton1)クリック時のサンプルコード:

実行結果:

このように、チェックした内容を使って簡単に処理を作ることができます。

ちなみに、以下記事でユーザーフォームの使い方について詳しく解説しています。

今回使ったボタンの追加方法だけでなく、テキストボックスやリストボックスの使い方についてもまとめているので、気になる方は見てみてくださいね!

【VBA入門】ユーザーフォームの使い方(テキスト表示、カレンダー)
更新日 : 2019年4月22日

合わせて覚えると便利なファイル・フォルダ削除方法とは

今回は、ファイルパスをメッセージで表示するサンプルを用意しましたが、実際はファイルパスを使って処理を組み込むことが多いですよね。

なかでもフォルダ整理のために、ファイル削除・フォルダ削除をする処理はよく使います。

そのため、DeleteFolderメソッドフォルダ削除Killステートメントファイル削除する方法を覚えておくと便利です。

使い方については以下で詳しく解説しているので、気になる方は見てみてくださいね!

【ExcelVBA入門】DeleteFolderメソッドを使ったフォルダ削除方法とは
更新日 : 2018年8月28日
【ExcelVBA入門】Killステートメントでファイルを削除する方法とは
更新日 : 2018年8月20日

まとめ

今回は、ListViewコントロールの使い方について徹底的に解説しました!

ListViewコントロールは一覧データを使って処理を作ることができるので、使いこなすとツールを作る幅が広がります。

使い方も簡単なので、ぜひ使ってみてくださいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

フリーランスエンジニア兼ライターのワキザカ サンシロウです。
ExcelVBAの自動化ツール開発、WEB開発をメインにエンジニア業務をこなしつつ、サムライエンジニアにてライター業務をしております。

プログラミングをこれからやってみたい方に向けて、ためになる記事を全力で書いていきますので宜しくお願い致します!

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説