• 締切済み

EXCEL_VBAでCheckBox等の未チェックをMsgBoxで返したい

EXCEL VBAで入力フォームとして、UserFormにTextBox,ComboBox,OptionnButton,CheckBoxが複数配置してあり、 入力が完了したらCommandButtonをクリックし、テンプレートシートの 各セルに値が反映されるようなBookを想定しています。 ここでCommandButtonをクリックした時に、各入力・チェック項目が抜けている場合、MsgBoxで「○○○に入力漏れがあります」と再入力を促し、全て入力が完了した場合にテンプレートシート(ActiveSheet)に値が反映され、MsgBoxで「入力内容に間違いがなければ印刷、やり直す場合は修正して下さい」と表示させたいのですが、エラー処理ができず、ご教示願えればと思っております。 よろしくお願いします。

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

> エラー処理が出来ない と記載されていますが どのようなコードでチェックしようとして 何が問題を起こしているのかを具体化しましょう たとえば CheckBox1,2,3とOpttionButton1,2,3がある場合に dim nCheck(2) as Boolean dim nOption as Integer nCheck(0) = CheckBox1.Checked nCheck(1) = CheckBox2.Checked nCheck(2) = CheckBox3.Checked nOption = ( OptionButton1.Checked ) * 1 + _   (OptionButton2.Check) * 2 + ( OptionButton3.Checked ) * 3 if nCheck(0) + nCheck(1) + nCheck(2) = 0 then   MsgBox "チェックボックスが選択されていません" end if if nOption = 0 then   MsgBox "オプション(ラジオ)ボタンが選択されていません" end if といった具合のチェックをするだろうと思います

Shyrose
質問者

お礼

丁寧なご回答誠にありがとうございました。 返す値で条件判定をする方法は考えもつかなかったです。 なお、CheckBoxのメソッドにCheckedがなく、結果的にValueで 代用しています。 今後は、添削対象のコードも検討頂ければと思います。 本当にどうもありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A