【Excel VBA】ユーザーフォームTIPS(リストボックスとセルの連動サンプル)

VBA・Officeカテゴリを表すパンダのイラスト VBA・Office

Excel VBAのユーザーフォームにおいて、リストボックス(ListBox)の選択項目とワークシート上のセルを連動させるためのサンプルコードと手順を解説します。

この記事でできること

ユーザーフォームのリストボックスで項目をクリックした際に、対応するワークシート上のセルを自動的に選択状態(アクティブ)にすることができます。

想定環境・前提条件

  • Microsoft Excel 2016以降(Microsoft 365推奨)
  • Windows環境
  • VBE(Visual Basic Editor)の基本操作ができること

完全なコード

ユーザーフォームのモジュールに以下のコードを記述します。フォームは必要に応じてモーダレス(ShowModal = False)に設定して利用してください。

Private Sub ListBox1_Click()
Dim ws As Worksheet

Set ws = ThisWorkbook.Sheets("Sheet1")

With ListBox1
If .ListCount < 1 Then Exit Sub
If .ListIndex < 0 Then Exit Sub
' リストの2列目(インデックス1)に保持しているセルアドレスを選択する
ws.Range(.List(.ListIndex, 1)).Select
End With
End Sub

Private Sub UserForm_Initialize()
Dim ws As Worksheet
Dim r As Range
Dim i As Integer: i = 0

Set ws = ThisWorkbook.Sheets("Sheet1")

' リストボックスを2列構成にする(0列目:表示名、1列目:セルアドレス)
Me.ListBox1.ColumnCount = 2

' 1つ目の項目設定
Set r = ws.Range("A1")
ListBox1.AddItem r.Value
ListBox1.List(i, 1) = r.Address
i = i + 1

' 2つ目の項目設定
Set r = ws.Range("B1")
ListBox1.AddItem r.Value
ListBox1.List(i, 1) = r.Address
i = i + 1

' 3つ目の項目設定
Set r = ws.Range("C2")
ListBox1.AddItem r.Value
ListBox1.List(i, 1) = r.Address
i = i + 1
End Sub

実行手順

  1. Excelブックを開き、[Alt] + [F11] キーを押してVBEを開きます。
  2. [挿入] > [ユーザーフォーム] を選択し、フォームに ListBox1 を配置します。
  3. 上記コードをユーザーフォームのコードウィンドウに貼り付けます。
  4. 「Sheet1」のセル A1、B1、C2 に任意の値を入力します。
  5. ユーザーフォームを実行し、リストボックスの項目をクリックして指定セルが選択されることを確認します。

公式情報・一次情報

Microsoft Learn – VBA オブジェクト モデルのリファレンス

この記事の更新履歴

この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。

2026年9月12日

  • 変更ブロック引用タグとなっていたVBAコード部分を正しいコードブロック形式に変更しました。
  • 追加リストボックスとセルを連動させるVBAサンプルの前提条件と実行手順を追加しました。

文書情報

記事タイトル
【Excel VBA】ユーザーフォームTIPS(リストボックスとセルの連動サンプル)
作成日
更新日
Source URL
https://papanda925.com/?p=638

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました