【VBA】コンボボックスの値でボタンの有効無効を変える


ボタンの有効無効

ボタンのプロパティ(Enabled)を値次第でTrueかFalseに切り替えます。
コンボボックスではなくテキストボックスやチェックボックスでも使えますが今回は
【VBA】ユーザーフォムのコンボボックスのリストに重複を省いて値を追加するで作ったコンボボックスを使って、コンボボックスの値が空白の時はボタンが押せないようにします。

ユーザーフォムに以下のコードを書きます。

Private Sub cmbDate_Change()
    If cmbDate.Value <> "" Then   'コンボボックスの値が空白じゃないときは
        btnDone.Enabled = True '決定ボタン有効
    Else
        btnDone.Enabled = False '決定ボタン無効
    End If
End Sub

実行結果

ワタシ流こだわり

こだわりって言うか癖なんですがIf文書くとき
If cmbDate.Value <> "" Then
のように「空白じゃないときは~」という書き方します。

Private Sub cmbDate_Change()
    If cmbDate.Value = "" Then   'コンボボックスの値が空白なら
        btnDone.Enabled = False '決定ボタン無効
    Else
        btnDone.Enabled = True '決定ボタン有効
    End If
End Sub

このほうが分かりやすい人多いんですかね?