[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『チェックボックスの入力チェック』(ミコ)
シート1のA列にチェックボックスが2つ、C列にチェックボックスが4つあります。
A B C D 1 □いちご □あまおう 2 □とちおとめ 3 4 □りんご □ふじ 5 □ジョナゴールド 6
A列のいちごにチェックが入っている時には、C列のあまおうとちおとめのどちらかに チェックが入っていなければいけない。 A列のりんごにチェックが入っている時には、C列のふじとジョナゴールドのどちらかに チェックが入っていなければいけない。 (いちごにもりんごにもチェックが入っていない時はスルー)
以上の条件のチェックをブックを閉じる時に行い、チェック漏れがあったら 「あまおうか、とちおとめのどちらかにチェックを入れてください」などの メッセージを出すようにして、チェック漏れが解決できるまでブックが閉じられない ような仕様にしたいのですが、どのようなマクロになりますか?
< 使用 Excel:Excel2010、使用 OS:WindowsXP >
sheet1のオブジェクト
CheckBox1のcaptionに「イチゴ」
CheckBox2のcaptionに「あまおう」
CheckBox3のcaptionに「とちおとめ」
と入力しておきます。
'エクセルファイル終了時イベント処理
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Worksheets("Sheet1").CheckBox1.Value = True Then
If Worksheets("Sheet1").CheckBox2.Value = False And Worksheets("Sheet1").CheckBox3.Value = False Then
MsgBox Worksheets("Sheet1").CheckBox2.Caption & "又は" & Worksheets("Sheet1").CheckBox3.Caption & "にチェックを入れてください。"
cansel = False
Else
ThisWorkbook.Close
End If
Else
MsgBox "入力がありません。"
End If
End Sub
分岐がわかるようにメッセージを入れておきました。
不要な動作は削除してください。
以上
(K) 2014/06/09(月) 17:18
If Worksheets("Sheet1").CheckBox1.Value = True Then
If Worksheets("Sheet1").CheckBox2.Value = False And Worksheets("Sheet1").CheckBox3.Value = False Then
MsgBox Worksheets("Sheet1").CheckBox2.Caption & "又は" & Worksheets("Sheet1").CheckBox3.Caption & "にチェックを入れてください。"
Cancel = True
Else
ThisWorkbook.Close
End If
Else
MsgBox "入力がありません。"
End If
End Sub
※動作確認が不十分でした。申し訳ない。
スペルミス等を修正しました。
(K) 2014/06/09(月) 17:24
シートに貼り付けるチェックボックスコントロールは、
開発タブの挿入をクリックすればわかると思いますが、 「フォームコントロール」と「ActiveXControl」の2種類があります。
種類によって、コードの書き方が違ってきます。 その辺りをはっきり記述してください。
又、 > A列のいちごにチェックが入っている時には、C列のあまおうとちおとめのどちらかに >チェックが入っていなければいけない。
これは、どちらか一つだけ選択できるという意味ですか? それとも両方同時の選択も可能という事ですか? これもはっきり記述してください。
それによって、チェックも違ってきますから・・・。
(ichinose) 2014/06/10(火) 09:19
ミコです。
お返事が遅くなってしまい申し訳ありません。 ichinoseさんの仰るとおり、フォームコントロールのチェックボックスでした…
Kさんのコードの”CheckBox1”の部分を、リンクするセルに置き換えてみたら 問題なく動作しましたので、これで使わせていただきたいと思います。
選択できる数については、両方同時の選択も可能というつもりでしたので このままで大丈夫そうです。
次に質問する際には、その辺りのことも考慮して質問したいと思います。 Kさん、ichinoseさん、ありがとうございました。
(ミコ) 2014/06/13(金) 12:11
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.