マクロを組み込んだエクセルを他のスタッフと共有して使っている時に、誤ってユーザーフォームに配置した「オプションボタン」を選択しないで次に進まれてしまい、意図しないエラーに遭遇したことありませんか?
このような押し忘れを防ぐ為には、選択漏れがあった場合にはメッセージを表示させて次に進めないようにすれば解決できますので、VBAコードをご紹介します。
IfステートメントとMsgBoxだけで解決
オプションボタンは2つ以上配置して、その中から1つを必ず選択する為のコントロールパーツです。
よく見かけるのは、性別などを選択する時に下記のように選べるようになっています。
オプションボタンの特徴は、上の図を参考にすると「男」を選択すると(True)もう一方の「女」は自動的に未選択状態(False)に設定されます。
これにより、グループ内にたくさんのオプションボタンがあっても1つしか選択できないようになっています。
オプションボタンの基本的な使い方については、内容が重複するので下記をご覧くださいませ。
オプションボタンのVBAコード
例えば上記のように支払方法を選択させるオプションボタンが8つ配置されていて、選択を忘れてしまった場合(全てのオプションボタンが選択されていない場合)の対処法として、メッセージを表示させて次に進めないようにする方法をご紹介します。
ここでは、選択されたオプションボタンの支払方法がセルA1に表記させるようにします。
Private Sub CommandButton1_Click()
If OptionButton1.Value = True Then
Range(“A1”).Value = “現金”
ElseIf OptionButton2.Value = True Then
Range(“A1”).Value = “カード”
ElseIf OptionButton3.Value = True Then
Range(“A1”).Value = “PayPay”
ElseIf OptionButton4.Value = True Then
Range(“A1”).Value = “Suica”
ElseIf OptionButton5.Value = True Then
Range(“A1”).Value = “nanaco”
ElseIf OptionButton6.Value = True Then
Range(“A1”).Value = “WAON”
ElseIf OptionButton7.Value = True Then
Range(“A1”).Value = “Edy”
ElseIf OptionButton8.Value = True Then
Range(“A1”).Value = “iD”
Else
MsgBox “支払方法を選択してください”
End If
End Sub
- コマンドボタン1がクリックされたら
- もしオプションボタン1が選択されたら
- セルA1に「現金」と記載する
- そうではなく、もしオプションボタン2が選択されたら
- セルA1に「カード」と記載する
- そうではなく、もしオプションボタン3が選択されたら
- セルA1に「PayPay」と記載する
- そうではなく、もしオプションボタン4が選択されたら
- セルA1に「Suica」と記載する
- そうではなく、もしオプションボタン5が選択されたら
- セルA1に「nanaco」と記載する
- そうではなく、もしオプションボタン6が選択されたら
- セルA1に「WAON」と記載する
- そうではなく、もしオプションボタン7が選択されたら
- セルA1に「Edy」と記載する
- そうではなく、もしオプションボタン8が選択されたら
- セルA1に「iD」と記載する
- そうではなかったら(選択が無かったら)
- メッセージで「支払方法を選択してください」と表示する
- Ifステートメント終了
- マクロ記録終了
と、このようになり「全てのオプションボタンが選択されていない場合のVBA対処法」とは、赤字で記載した2行があれば解決できるとても簡単な方法でした。
このように選択漏れによるエラーは、よくあることなので必ず未選択時の対処をするVBAコードを付け加えることが、とても重要ですね。
関連記事
-
オプションボタン
オプションボタン(optionbutton)の名前変更と使い方
オリジナル入力フォームが作ることができる「ユーザーフォーム」のパーツのひとつで、「男」「女」などの性別のように2つ以上の選択肢の中から1つだけ選ぶことができる… -
オプションボタン
セル値を自動取得してオプションボタンの状態を表示させるVBA方法
ユーザーフォームに配置したオプションボタンって住所録の性別選択などで使用していると思いますが、セルの値が「男」「女」を自動的に見つけてオプションボタンの状態… -
オプションボタン
全てのオプションボタンが未選択の時にエラーを防ぐVBA対処法
マクロを組み込んだエクセルを他のスタッフと共有して使っている時に、誤ってユーザーフォームに配置した「オプションボタン」を選択しないで次に進まれてしまい、意図…
紅葉スポット
-
草津温泉スキー場の天狗山紅葉とライトアップされた西の河原散策へ
10月になると早々に紅葉を見ることができるので、今年の紅葉狩りのスタートはここ草津温泉からと言っても過言ではありません。 草津温泉の湯畑が有名ですが、すぐ近くに… -
埼玉県第1号のダム「有間ダム」によりできた名栗湖畔の鏡面紅葉へ
初!と付くものはやっぱり宣伝したい、そして四季折々の景色が見られる自然絶景スポットならばなおさらですよね。 埼玉県飯能市にある名栗湖へ飯能駅からバスで行くこと… -
お得なきっぷで電車とバスで行ける関東の紅葉人気スポット
関東長野県群馬県栃木県千葉県埼玉県茨城県静岡県 関東エリアの人気紅葉スポット 関東地方で紅葉名所といえばなんといっても日光ですが、紅葉シーズンになると平日でも… -
茨城県内の11月に見頃を迎えるおススメ紅葉スポット11選
茨城県内の人気紅葉スポット 関東地方で紅葉名所といえばなんといっても日光ですが、紅葉シーズンになると平日でもいろは坂は大渋滞なのに休日ともなると日光駅周辺から… -
雲場池へバスで軽井沢駅から紅葉絶景観光スポットへ滞在時間50分
【紅葉見頃】10月中旬~11月中旬 避暑地軽井沢は実は紅葉も綺麗に見られる観光スポットでも知られ、紅葉名所の雲場池は軽井沢駅から1.3㎞程なので徒歩でも行けますし… -
ときわ路パスで行ける茨城県人気紅葉スポット
茨城県内の紅葉人気ランキング 関東地方で紅葉名所といえばなんといっても日光ですが、紅葉シーズンになると平日でもいろは坂は大渋滞なのに休日ともなると日光駅周辺か…