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 は納得したら削除のこと(エラー表示の行を除き)。
>チェックボックス5個のうち
(1)フォームに貼り付ける
で行っております。
シート上にも貼り付けれる方法は知りませんでした。
ご丁寧にありがとうございます。
シート上に貼り付ける方法を調べて実行してみようと思います。
ありがとうございました。
No.1
- 回答日時:
考え方としては
5つのチェックボックスを順に調べていき
チェックが入っていれば用意した変数を
インクリメント(カウントを増やす)し
最終的にその数が2以上ならばやり直させる
というコードを書けばいいと思いますが、
おっしゃることが一つしか選択させないものを
作りたいというだけなら
チェックボックスではなく
ラジオボタンを使ったほうが効率がいいと思います。
チェックを1つではなく
”2つだけ”or”2つ以下”
してもらいたいのです。
インクリメントについて勉強してみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBAでチェックボックスにチェックを入れる 1 2022/09/14 00:52
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- JavaScript javaScriptで画面に値を入れるには 1 2022/08/14 12:27
- Visual Basic(VBA) エクセルでフォームのチェックボックスを使用した日付表示切替を作りたい 3 2023/07/11 10:47
- Visual Basic(VBA) VBAについて教えてください 4 2022/12/18 11:02
- Excel(エクセル) 表内で、Enterキーで横→行の最後入力したら次の行の先頭に移動するマクロを作りたい 3 2022/05/01 21:19
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Excel(エクセル) vba 同じブック内での転記について 4 2023/01/15 14:42
- Visual Basic(VBA) Excel・ユーザーフォームの情報を受け渡したい 4 2022/06/08 10:11
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
windows10を再インストールし...
-
ビジネスメールの敬称
-
テキストボックスの番号を使っ...
-
教えて!全角文字「μ」の半角
-
エクセルVBA テキストボックス...
-
初歩的な事だと思います。 Sub...
-
数字以外の入力をエラーにする...
-
DATE型変数を初期化する方法
-
EXCEL VBA で指定した範囲に入...
-
VBAの質問になります メッセー...
-
入力フォームの値をQRコードで...
-
VBAでInputBoxの再入力をさせる...
-
Excel-VBAでInputBox+Pulldown...
-
ACCESSから、メール送信を行い...
-
お問い合わせフォームから送信...
-
Vba テキストボックスでボック...
-
アルファベットGの小文字の入力
-
フォームを再送信しますか?
-
TextBoxから数字が文字...
-
WriteFileで送信できたかの確認...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル VBA チェックボック...
-
windows10を再インストールし...
-
インド鉄道予約Wepページの登録...
-
ビジネスメールの敬称
-
エクセルVBA テキストボックス...
-
DATE型変数を初期化する方法
-
テキストボックスの番号を使っ...
-
初歩的な事だと思います。 Sub...
-
数字以外の入力をエラーにする...
-
EXCEL VBA で指定した範囲に入...
-
お問い合わせフォームから送信...
-
Excel-VBAでInputBox+Pulldown...
-
フォームを再送信しますか?
-
入力フォームの値をQRコードで...
-
VBAの質問になります メッセー...
-
c#でTextBoxの入力制限
-
VBAで質問があります
-
php 確認表示画面で値をSESSION...
-
教えて!全角文字「μ」の半角
-
VBAでInputBoxの再入力をさせる...
おすすめ情報