【Excel】フォーム上に設置されたListboxにExcelのシートの値を表示させるには

この記事では、フォーム上に設置されたListboxにExcelのシートの値を表示させる方法についてご説明します。

補足
今回使うListboxはフォーム上に設置されたListboxです。
シート上に置いたListboxはこちらの記事で説明しています。
【Excel】Excelのシートの値をListboxに表示させるには

【動画】フォーム上に設置されたListboxにExcelのシートの値を表示させる実際の動き

本題に入る前に、まずは次の動画をご覧ください。


フォーム上に設置されたListboxのRowSourceプロパティに表示させたいセルの範囲を指定することで、簡単にExcelのシートの値をListboxに表示させています。

他に、データの列分表示させたり、ヘッダを表示させています。

フォーム上に設置されたListboxにExcelのシートの値を表示させるまでの手順

フォーム上に設置されたListboxにExcelのシートの値を表示させるまでの手順は次の通りです。

STEP.1
FormにListboxを配置する
FormにListboxを配置します。
STEP.2
フォーム上に設置されたListboxに表示させるデータをシートに用意する
フォーム上に設置されたListboxに表示させるデータをシートに用意しておきます。
STEP.3
表示させるデータのセルの範囲をフォーム上に設置されたListboxのRowSourceプロパティに設定する
表示させるデータのセルの範囲をフォーム上に設置されたListboxのRowSourceプロパティに設定します。
STEP.4
表示させるデータの列が複数ある場合は何列表示させるかColumnCountプロパティに設定する
表示させるデータの列が複数ある場合は、何列表示させるかColumnCountプロパティに設定します。
STEP.5
フォーム上に設置されたListboxにヘッダを表示させる場合はColumnHeadsプロパティをTrueに設定する
フォーム上に設置されたListboxにヘッダを表示させる場合はColumnHeadsプロパティをTrueに設定します。

手順の説明

【STEP.1】FormにListboxを配置する

ListboxをForm上に配置します。

【STEP.2】フォーム上に設置されたListboxに表示させるデータをシートに用意する

フォーム上に設置されたListboxに表示させるデータをシートに用意しておきます。

【STEP.3】表示させるデータのセルの範囲をフォーム上に設置されたListboxのRowSourceプロパティに設定する

表示させるデータのセルの範囲を、フォーム上に設置されたListboxのRowSourceプロパティに設定します。

上記の画面のRowSourceプロパティの設定は「$A$2:$D$20」となっています。

この設定は、セル「A2」からセル「D20」の範囲のデータを表示させる、という意味です。

【STEP.4】表示させるデータの列が複数ある場合は何列表示させるかColumnCountプロパティに設定する

表示させるデータの列が複数ある場合は、何列表示させるかColumnCountプロパティに設定します。

データが4列ある場合はColumnCountプロパティに「4」を設定します。

※ColumnCountプロパティの初期値は「1」

【STEP.5】フォーム上に設置されたListboxにヘッダを表示させる場合はColumnHeadsプロパティをTrueに設定する

フォーム上に設置されたListboxにヘッダを表示させる場合はColumnHeadsプロパティをTrueに設定します。

なお、【STEP.3】のRowSourceプロパティに設定した行の一つ上のセルの値がヘッダに表示されます。

例えば「$A$2:$D$20」と設定した場合は、A1からD1のセルの値がヘッダに表示されます。(下の画像をご覧ください)

A1の「列1」、B1の「列2」、C1の「列3」、D1の「列4」の文字列がヘッダに表示されています。

※ColumnHeadsプロパティの初期値は「False」

Excelのシートの値をフォーム上に設置されたListboxに表示させた結果

Excelのシートの値をListboxに表示させた結果は次の通りです。

【参考】シート名を指定してフォーム上に設置されたListboxに表示させる方法

シート名を指定してフォーム上に設置されたListboxに表示させるには、RowSourceプロパティにシート名を含めればOKです。

例えば、シート「data」にあるA2からD20のセルの値をListboxに表示させる場合は、RowSourceプロパティに「data!$A$2:$D$20」と設定します。

ListboxのRowSourceプロパティの設定

シート「data」の値

Listboxの表示

※シート名を含めない場合は、アクティブなシートのデータを表示させます。例えばシート名「Sheet1」がアクティブなら、シート名「Sheet1」のセルのデータを表示させます。

最後に

本記事では、フォーム上に設置されたListboxにExcelのシートの値を表示させる方法についてご説明しました。

ListboxのRowSourceプロパティに設定することで簡単にExcelのシートの値をListboxに表示させることができます。

ただし、ColumnCountプロパティの値と表示させたいデータの列数が一致していないと表示させたいデータがListboxに表示されないので、ColumnCountプロパティの設定は忘れずに行ってくださいね。

プログラミングのスキルを習得するなら

プログラミングのスキルを習得したい、今のスキルをもっと高めたい、そう考えているなら「プログラミングスクール」がおすすめです。

プログラミングのスキルの基礎を身につけるなら「TechAcademy」で1週間の無料体験があるので、これで「プログラミングの基礎」を学ぶのにおすすめですよ。

→ TechAcademyの「1週間 無料体験」はこちら