'========================================================================================= ' 405 チェックボックスの選択結果を調べる '----------------------------------------------------------------------------------------- '【ヒント】 ' このマクロは、おためし機能の動作用のコードを含んでいます。(概ね下半分) ' ★★★の行またはサブプロシージャーが、タイトル機能に関係するコードです。(概ね上半分) ' UserForm1にもコードがあり、標準モジュールのコードと連係して動作します '========================================================================================= ' ◆標準モジュールのコード◆ '----------------------------------------------------------------------------------------- Option Explicit Public タイトル As String '★★★ Public スタイル As Long '★★★ Public メッセージ As String '★★★ Public 応答 As Variant '★★★ '========================================================================================= Sub チェックボックスの選択結果を調べる() UserForm1.Show End Sub '========================================================================================= '----------------------------------------------------------------------------------------- Sub おためしマクロ() おためしメッセージを表示する チェックボックスの選択結果を調べる '★★★ End Sub '----------------------------------------------------------------------------------------- Private Sub おためしメッセージを表示する() Worksheets("Title").Select Range("P17").Select 'カーソルを定位置へ移動する タイトル = "500連発 第2弾 サンプルマクロ" スタイル = 64 'vbInformation End Sub '----------------------------------------------------------------------------------------- Sub Auto_Close() Application.DisplayAlerts = False '閉じる際に確認メッセージを出さない ActiveWorkbook.Close '現在開いているブックを閉じる End Sub '----------------------------------------------------------------------------------------- '========================================================================================= ' ◆UserForm1のコード◆ '----------------------------------------------------------------------------------------- Option Explicit Dim チェック As Integer '★★★ '========================================================================================= Private Sub CommandButton1_Click() '★★★ チェックボックスの選択結果を調べる Unload Me 'ユーザーフォームを閉じる End Sub '----------------------------------------------------------------------------------------- Private Sub チェックボックスの選択結果を調べる() '★★★ If UserForm1.CheckBox2.Value = True And UserForm1.CheckBox3.Value = True Then あり得ない組み合わせが選択されたエラー Exit Sub End If ' チェック = 0 If UserForm1.CheckBox1.Value = True Then チェック = チェック + 1 End If If UserForm1.CheckBox4.Value = True Then チェック = チェック + 1 End If If UserForm1.CheckBox5.Value = True Then チェック = チェック + 1 End If If UserForm1.CheckBox6.Value = True Then チェック = チェック + 1 End If If チェック = 4 Then If UserForm1.CheckBox2.Value = True Or UserForm1.CheckBox3.Value = True Then チェック = チェック + 1 End If End If ' スタイル = 64 'vbInformation If チェック = 5 Then メッセージ = "受講料が、援助されるでしょう" 応答 = MsgBox(メッセージ, スタイル, タイトル) Else メッセージ = "受講料は、援助されないでしょう" 応答 = MsgBox(メッセージ, スタイル, タイトル) End If End Sub '----------------------------------------------------------------------------------------- Private Sub あり得ない組み合わせが選択されたエラー() スタイル = 48 'vbExclamation メッセージ = "2 と 3 は同時に選択できません" 応答 = MsgBox(メッセージ, スタイル, タイトル) End Sub '=========================================================================================