
No.2ベストアンサー
- 回答日時:
CheckBoxの名前を、オブジェクト変数に入れるとループ関数が使えます
--------------------------------
Private Sub CommandButton1_Click()
Dim ckbx(5) As Object
Set ckbx(1) = CheckBox1
Set ckbx(2) = CheckBox2
Set ckbx(3) = CheckBox3
Set ckbx(4) = CheckBox4
Set ckbx(5) = CheckBox5
For i = 1 To 5
If ckbx(i).Value Then
nx = nx + 1
End If
Next
If nx > 2 Then
MsgBox "チェック、多すぎ"
For i = 1 To 5
ckbx(i).Value = False
Next
Else
' 2個以下の場合の処理
MsgBox "2個以下"
End If
End Sub
No.3
- 回答日時:
>チェックボックス5個のうち
(1)フォームに貼り付ける
(2)シートに貼り付ける
で差があるのだ。初心者で気がついてないのかもしれないが、質問に書いてない場合が多い。
ーー
シート(下記ではSheet3)上に、の場合
Private Sub CommandButton1_Click()
For Each chb In Worksheets("Sheet3").OLEObjects
MsgBox chb.Name
MsgBox chb.progID
If chb.progID = "Forms.CheckBox.1" And chb.Object.Value = True Then n = n + 1
Next
MsgBox n
If n > 2 Then MsgBox "エラー"
End Sub
ーー
Msgbox は納得したら削除のこと(エラー表示の行を除き)。
この回答へのお礼
お礼日時:2009/11/18 00:39
>チェックボックス5個のうち
(1)フォームに貼り付ける
で行っております。
シート上にも貼り付けれる方法は知りませんでした。
ご丁寧にありがとうございます。
シート上に貼り付ける方法を調べて実行してみようと思います。
ありがとうございました。
No.1
- 回答日時:
考え方としては
5つのチェックボックスを順に調べていき
チェックが入っていれば用意した変数を
インクリメント(カウントを増やす)し
最終的にその数が2以上ならばやり直させる
というコードを書けばいいと思いますが、
おっしゃることが一つしか選択させないものを
作りたいというだけなら
チェックボックスではなく
ラジオボタンを使ったほうが効率がいいと思います。
この回答へのお礼
お礼日時:2009/11/18 00:46
チェックを1つではなく
”2つだけ”or”2つ以下”
してもらいたいのです。
インクリメントについて勉強してみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUP FALSEのこと
-
【関数】【マクロ】売上X円以上...
-
【マクロ 画像あり】Exact関数...
-
空白処理を空白に
-
同じ名前(重複)かつ 日本 ア...
-
エクセルでフィルターした値を...
-
エクセルシートの見出しの文字...
-
空白のはずがSUBTOTAL関数でカ...
-
excel
-
if関数の複数条件について
-
【マクロ】数式を入力したい。...
-
Excelで4択問題を作成したい
-
Excel 複数のセルが一致すると...
-
Excel 日付の表示が直せません...
-
表計算ソフトでの様式の呼称
-
【マクロ】既存ファイルの名前...
-
【マクロ】エラー【#DIV/0!】が...
-
【マクロ】実行時エラー '424':...
-
エクセルの文字数列関数と競馬...
-
エクセルに写真が貼れない(フ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル VBA チェックボック...
-
ビジネスメールの敬称
-
Googleフォームを回答したか確...
-
初歩的な事だと思います。 Sub...
-
エクセルVBA テキストボックス...
-
お問い合わせフォームから送信...
-
テキストボックスの番号を使っ...
-
フォームを再送信しますか?
-
数字以外の入力をエラーにする...
-
教えて!全角文字「μ」の半角
-
Excel-VBAでInputBox+Pulldown...
-
DataGridViewの桁数制限に関して
-
VBA R1C1形式で変数の入力について
-
入力フォームの値をQRコードで...
-
VBAでInputBoxの再入力をさせる...
-
エディットボックスの入力制限...
-
EXCEL VBA で指定した範囲に入...
-
accessで該当するレコードがな...
-
DATE型変数を初期化する方法
-
DataGridView 列ごとの入力制限
おすすめ情報