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

コンボボックスにテキストを代入する

自由入力ができるComboBoxに文字列を代入します。表示する値と、リストの項目を区別します。

実行前に確認

  • Valueへの代入だけでは候補一覧に追加されません。自由入力を許さないDropDownListの場合、リスト外の値を代入する例とは使い分けます。
  • コードと公式仕様を照合した学習用の例です。Excel実機での実行確認は行っていません。

1サンプルコード

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

Private Sub UserForm_Initialize()
    With Me.ComboBox1
        .Style = fmStyleDropDownCombo
        .MatchRequired = False
        .AddItem "東京"
        .AddItem "大阪"
        .Value = "札幌"
    End With
End Sub

図で見る値と一覧を区別する

イメージ図

自由入力ができるComboBoxに文字列を代入します。表示する値と、リストの項目を区別します。

  1. 候補

    東京・大阪をAddItem

  2. 表示値

    Valueに「札幌」を代入

  3. 結果

    入力欄だけ変わり、候補は2件

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

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

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

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

  2. 2

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

  3. 3

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

  4. 4

    VBEでUserForm1を選び、F5でフォームを表示します。 入力欄とドロップダウンの候補を確認します。

  5. 5

    入力欄は「札幌」ですが、候補一覧は「東京」「大阪」の2件のままです。

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