構文
構文は以下の通りです。
コンボボックス名.MatchFound = True / False
解説
MatchFoundプロパティは、指定された文字列がコンボボックスのリスト内に存在するかどうかを判定します。これを利用して、ユーザーが入力した値がリスト内に存在するかどうかを確認し、処理を制御します。
使い方
具体的な使い方を紹介します。
Private Sub ComboBox1_Change()
If ComboBox1.MatchFound = False Then
MsgBox "入力された値はリストに存在しません。", vbExclamation
ComboBox1.Value = "" ' コンボボックスを空にするか、前回の有効な値に戻す
End If
End Sub
If ComboBox1.MatchFound = False Then
MsgBox "入力された値はリストに存在しません。", vbExclamation
ComboBox1.Value = "" ' コンボボックスを空にするか、前回の有効な値に戻す
End If
End Sub
Changeイベント内で、ユーザーが入力した値がリスト内に存在しない場合にエラーメッセージを表示するようなコードを追加します。
プログラミング例
以下に、プログラミング例を紹介します。
Private Sub ComboBox1_Change()
If ComboBox1.MatchFound = False Then
MsgBox "入力された値はリストに存在しません。", vbExclamation
ComboBox1.Value = "" ' コンボボックスを空にするか、前回の有効な値に戻す
Else
' 入力された果物に関する詳細な情報を表示する処理
Select Case ComboBox1.Value
Case "りんご"
MsgBox "りんごは赤くておいしい果物です。"
Case "ばなな"
MsgBox "ばななは黄色くて栄養たっぷりです。"
Case "ぶどう"
MsgBox "ぶどうは小粒でジューシーな果物です。"
End Select
End If
End Sub
If ComboBox1.MatchFound = False Then
MsgBox "入力された値はリストに存在しません。", vbExclamation
ComboBox1.Value = "" ' コンボボックスを空にするか、前回の有効な値に戻す
Else
' 入力された果物に関する詳細な情報を表示する処理
Select Case ComboBox1.Value
Case "りんご"
MsgBox "りんごは赤くておいしい果物です。"
Case "ばなな"
MsgBox "ばななは黄色くて栄養たっぷりです。"
Case "ぶどう"
MsgBox "ぶどうは小粒でジューシーな果物です。"
End Select
End If
End Sub
ユーザーが入力した値がリスト内に存在する場合に特定の処理を行いたい場合は、それに対応するコードを追加します。例えば、果物の場合には詳細な情報を表示するなどの処理が考えられます。このように、ユーザーが入力した値がリスト内に存在する場合としない場合で、異なる処理を行うことができます。
まとめ
MatchFoundプロパティを利用して、入力された値の存在判定を行い、適切な処理を行うことで、ユーザーが選択可能な値の範囲内で入力を制限できます。是非活用してください。