KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel のユーザーフォームで、コンボボックスの選択内容に応じてテキストボックスを自動的に入力するにはどうすればよいですか?

著者Siluvia変更日

下図のように、名前とスタッフ番号の列を含むテーブルがあるとします。この場合、すべての名前を表示するコンボボックスと、そのコンボボックスで名前を選択すると対応するスタッフ番号が自動的に入力されるテキストボックスを備えたユーザーフォームを作成する必要があります。本記事で紹介する方法を使えば、これを簡単に実現できます。

Excel で名前とスタッフ番号の列を含むテーブルを表示しているスクリーンショット

VBA を使用してユーザーフォーム上のコンボボックスの選択に基づきテキストボックスを自動入力する


VBA を使用してユーザーフォーム上のコンボボックスの選択に基づきテキストボックスを自動入力する

ユーザーフォームでコンボボックスの選択内容に応じてテキストボックスを自動的に入力するには、以下の手順に従ってください。

1。「Alt+F11」キーを押すと、「Microsoft Visual Basic for Applications」ウィンドウが開きます。

2。「Microsoft Visual Basic for Applications」ウィンドウで、「挿入」→「ユーザーフォーム」をクリックしてください。下図をご参照ください。

Excel VBA でユーザーフォームを挿入する方法を示すスクリーンショット

3。次に、下図のように作成したユーザーフォーム内に、コンボボックスコントロールとテキストボックスコントロールを挿入します。

Excel のユーザーフォームにコンボボックスとテキストボックスが追加されているスクリーンショット

4。ユーザーフォームの空白部分を右クリックし、コンテキストメニューから「コードの表示」を選択してください。下図をご参照ください。

Excel VBA でユーザーフォームのコードウィンドウを開く方法を示すスクリーンショット

5。開いたユーザーフォーム(コード)ウィンドウに、以下の VBA コードをコピーして貼り付け、既存のコードと置き換えてください。

VBA コード:ユーザーフォーム上でコンボボックスの選択に基づいてテキストボックスを自動入力する

Dim xRg As Range
'Updated by Extendoffice 2018/1/30
Private Sub UserForm_Initialize()
    Set xRg = Worksheets("Sheet5").Range("A2:B8")
    Me.ComboBox1.List = xRg.Columns(1).Value
End Sub
Private Sub ComboBox1_Change()
    Me.TextBox1.Text = Application.WorksheetFunction.VLookup(Me.ComboBox1.Value, xRg, 2, False)
End Sub

注:コード内の A2:B2 は、ユーザーフォームのコンボボックスとテキストボックスにそれぞれ自動入力する値が含まれる範囲です。また、Sheet5 はデータ範囲を含むワークシートの名前です。必要に応じて、これらの設定を変更してください。

6。「Alt+Q」キーを押すと、「Microsoft Visual Basic for Applications」ウィンドウが閉じます。

7。「開発 > 挿入 > コマンドボタン(ActiveX コントロール)」をクリックして、ワークシートにコマンドボタンを挿入します。

8。シートタブを右クリックし、表示されたメニューから「コードの表示」を選択してください。その後、開いたコードウィンドウに VBA コードをコピー&ペーストします。

VBA コード:ユーザーフォームを表示する

Private Sub CommandButton1_Click()
'Updated by Extendoffice 2018/1/30
    UserForm1.Show
End Sub

9。ワークブック内のデザインモードをオフにしてください。

コマンドボタンをクリックすると、指定されたユーザーフォームが開き、すべての名前がコンボボックスに集められていることを確認できます。コンボボックスから名前を選択すれば、対応するスタッフ番号が下図のように自動的にテキストボックスに入力されます。

Excel のユーザーフォームでコンボボックスの選択内容がテキストボックスに反映される様子を示すスクリーンショット


関連記事:

最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行   |  コード生成|  カスタム数式作成  |  データ分析とチャート生成|  拡張機能呼び出し…
人気の機能:検索・ハイライト、または重複をマーキング   |  空白行を削除する   |  データを失うことなく列の結合またはセルを   |  数式を使用しない四捨五入...
スーパー LOOKUP:複数条件 VLookup  |  複数値 VLookup  |   複数シート間 VLookup   |   ファジーマッチ....
高度なドロップダウンリスト:ドロップダウンリストをすばやく作成   |  連動型ドロップダウンリスト   |  複数選択可能なドロップダウンリスト....
列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較...
注目の機能:グリッドフォーカス   |  デザインビュー   |強化された数式バー   | ワークブックとシートマネージャー   |  リソースライブラリ(オートテキスト)|  日付ピッカー   |  ワークシートの統合  |  暗号化/セルの復号化   | リストからメール送信   |  スーパーフィルター   |   特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)|   50+チャートタイプ(ガントチャート、...)|   40+実用的関数(誕生日に基づいて年齢を計算します、...)|   19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)|   12 変換ツール(単語に変換する、為替レートの変換、...)|   7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。


Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします

  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得