← コード一覧へ戻る
基本UserForm

リストボックスにデータを登録する(2):2次元配列

2次元配列をListプロパティへ一括代入して、リストをまとめて読み込みます。

実行前に確認

  • Listへ一括代入する配列は行×列の2次元配列にします。1列でも第2次元を用意します。
  • 添付目次の番号に対応させた独自の実装例です。書籍本文の方法を再現・確認したものではありません。
  • コードと公式仕様を照合した学習用の例です。Excel実機での実行確認は行っていません。

1サンプルコード

'【貼付先:UserForm1 のコードモジュール】
Option Explicit

Private Sub UserForm_Initialize()
    Dim items(0 To 2, 0 To 0) As Variant
    items(0, 0) = "東京"
    items(1, 0) = "大阪"
    items(2, 0) = "福岡"
    Me.ListBox1.RowSource = ""
    Me.ListBox1.List = items
End Sub

図で見る配列をまとめて渡す

イメージ図

2次元配列をListプロパティへ一括代入して、リストをまとめて読み込みます。

  1. 作成

    3行×1列の配列

  2. 代入

    ListBox1.List=items

  3. 表示

    3件の都市名

各操作は、このガイドに指定されたフォームのコードで行います。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する5つの手順で、コードの使い方を確認できます
  1. 1

    Windows版デスクトップExcelの練習用ブックを.xlsmで保存し、Alt+F11→[挿入]→[ユーザーフォーム]で、名前がUserForm1の空のフォームを用意します。各例は別々に試します。

  2. 2

    ツールボックスからListBoxを1個(ListBox1)を置き、各コントロールの[(Name)]が記載どおりか確認します。

  3. 3

    UserForm1を右クリック→[コードの表示]を開き、掲載コード全体をフォームのコードモジュールへ貼り付けます。標準モジュールには貼り付けません。

  4. 4

    VBEでUserForm1を選び、F5でフォームを表示します。 リストを確認します。

  5. 5

    「東京」「大阪」「福岡」の3行が一括で表示されます。

使っている機能の公式ドキュメント(Microsoft Learn)