教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAでフォーム内のコンボボックスでリストに存在する値だけを入力できるようにする方法

構文

構文は以下の通りです。

コンボボックス名.MatchRequired = True

解説

MatchRequiredは、コンボボックスの中で、リストに存在する値だけを入力できるようにする設定です。Trueに設定することで、ユーザーがリストにない値を入力したときに、エラーが発生するようになります。

プログラミング例

具体的なプログラミング例を紹介します。

Private Sub UserForm_Initialize()
    ' コンボボックスにアイテムを追加
    コンボボックス1.AddItem "りんご"
    コンボボックス1.AddItem "みかん"
    コンボボックス1.AddItem "ぶどう"
    ' リストに存在する値のみ入力可能に設定
    コンボボックス1.MatchRequired = True
End Sub

上記のプログラムでは、コンボボックス1に「りんご」「みかん」「ぶどう」を追加し、MatchRequiredをTrueに設定することで、ユーザーがコンボボックスに手入力する場合、リスト内のこれらの値以外は入力できないようになります。

まとめ

MatchRequiredを使うことで、コンボボックスでリストに存在する値だけを入力可能にすることができます。これは、誤った入力を防ぐために便利な機能です。