構文
構文は以下の通りです。
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
' チェックボックスがチェックされた場合の処理
Else
' チェックボックスがチェック解除された場合の処理
End If
End Sub
If CheckBox1.Value = True Then
' チェックボックスがチェックされた場合の処理
Else
' チェックボックスがチェック解除された場合の処理
End If
End Sub
解説
この構文では、CheckBox1がクリックされたときに、その状態を確認し、特定のコントロール(YourControlNameに対応)の表示/非表示を切り替えています。コントロールを制御するには、基本的には「If...Then...Else」文を利用します。
使い方
具体的な使い方を紹介します。
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
' 本日の授業が完了した場合の処理
ActiveSheet.Shapes("LessonPlan").Visible = False
Else
' 本日の授業が未完了の場合の処理
ActiveSheet.Shapes("LessonPlan").Visible = True
End If
End Sub
If CheckBox1.Value = True Then
' 本日の授業が完了した場合の処理
ActiveSheet.Shapes("LessonPlan").Visible = False
Else
' 本日の授業が未完了の場合の処理
ActiveSheet.Shapes("LessonPlan").Visible = True
End If
End Sub
上記は、授業の進捗を管理するフォームがあり、チェックボックスが「本日の授業完了」を表すとします。それに応じて、次の授業の計画を表示/非表示にするプログラムを内容となります。
プログラミング例
以下に、プログラミング例を幾つか紹介します。
(例1)セルの内容を変更する
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
' チェックボックスがチェックされた場合の処理
Range("A1").Value = "完了"
Else
' チェックボックスがチェック解除された場合の処理
Range("A1").Value = "未完了"
End If
End Sub
If CheckBox1.Value = True Then
' チェックボックスがチェックされた場合の処理
Range("A1").Value = "完了"
Else
' チェックボックスがチェック解除された場合の処理
Range("A1").Value = "未完了"
End If
End Sub
この例では、チェックボックスがクリックされると、A1セルの内容が「完了」または「未完了」に切り替わります。
(例2)シートの非表示/表示を切り替える
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
' チェックボックスがチェックされた場合の処理
Sheets("Sheet2").Visible = xlSheetVisible
Else
' チェックボックスがチェック解除された場合の処理
Sheets("Sheet2").Visible = xlSheetHidden
End If
End Sub
If CheckBox1.Value = True Then
' チェックボックスがチェックされた場合の処理
Sheets("Sheet2").Visible = xlSheetVisible
Else
' チェックボックスがチェック解除された場合の処理
Sheets("Sheet2").Visible = xlSheetHidden
End If
End Sub
この例では、チェックボックスがクリックされたときに、別のシート(ここではSheet2)の表示/非表示を切り替えます。
(例3)ユーザーフォームを表示する
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
' チェックボックスがチェックされた場合の処理
UserForm1.Show
Else
' チェックボックスがチェック解除された場合の処理
Unload UserForm1
End If
End Sub
If CheckBox1.Value = True Then
' チェックボックスがチェックされた場合の処理
UserForm1.Show
Else
' チェックボックスがチェック解除された場合の処理
Unload UserForm1
End If
End Sub
この例では、チェックボックスがクリックされたときに、ユーザーフォームを表示または非表示にします。ユーザーフォームの名前はプロジェクトに合わせて変更してください。
まとめ
チェックボックスの状態に応じてコントロールを表示/非表示に切り替える方法を解説しました。If文を利用することで、簡潔かつ効果的にコントロールを制御できます。是非活用してください。