リストボックスのリストを選択するだけで自動的にセルに入力する

LISTBOXチェンジエベント

エクセルVBAを覚えて使おうとする理由って聞かれたら?

少しでも入力作業や探す手間を自動化して、仕事作業を短縮したいからですよね。

ここに記載しているVBAコードを活用しても大幅なエクセル時短効果は得られませんが、クリック回数を減らすことができるので、知らないなんて損していますよ!

目次

リストボックスのChangeイベント

オリジナル入力フォームが作れるユーザーフォームに配置して、表示された値やリスト(項目)から選ぶことができるリストボックスを使う事も多いと思います。

一般的にはリストボックスから選んだ値やリスト(項目)を指定したセルに記載する場合は、コマンドボタンにVBAコードを記載して使用します。

当たり前の事なので特に疑問を持つことは無いと思いますが、この場合はリストを選ぶ時にクリック、コマンドボタンを押すときにクリックと2回クリックが必要です。

changeイベント
クリックで拡大します

リストボックスのChangeイベントを使用すると、リストボックスからリストを選んだだけで自動的に指定したセルに記載できちゃうので、クリック回数が1回で済みます。

Changeイベント

Private Sub ListBox1_Change()
Range(“A2”).Value = ListBox1.List(ListBox1.ListIndex, 0)
End Sub

VBA解説
  1. リストボックス1に変更があった場合下記の処理を行う
  2. セルA2の値はリストボックスで選択状態のリストの値にする
  3. マクロ記録終了

上記VBAコードにより、選択状態になっただけでリストの項目がセルA2に自動的に記載されます。

本当にわずかですが1クリック分省力化できますよ。

ちなみにChangeイベントではなく、Clickイベントでもリストボックスでは同じことができます。

リストボックス関連
目次