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ランキング
-
エクセルで 自動的に◯や数字を...
-
エクセルでファイルの最終更新...
-
シフト表をエクセルで作るとき...
-
Excel 2019 [オプション]の[リボンのユ...
-
Excelに詳しい方! B列が「日...
-
Excelファイルが開けません
-
excel2013 MonthDays 関数が使...
-
スプレッドシートの関数につい...
-
【マクロ】2回実行したら、エ...
-
特定の文字列を含む、住所を抽...
-
EXCELの散布図で日付が1900年に...
-
エクセルのツールバーから数値...
-
Excelで表を作ったところに文字...
-
祝日と土曜、日曜の合計をカウ...
-
Excelについて
-
【マクロ】名前を保存する際に...
-
Excel分数の表示について
-
エクセルでCtrl+Tでテーブルの...
-
マイクロソフトのPADを使ってい...
-
【EXCEL】画像の黄色部分の抽出...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル VBA チェックボック...
-
インド鉄道予約Wepページの登録...
-
ビジネスメールの敬称
-
エクセルVBA テキストボックス...
-
数字以外の入力をエラーにする...
-
テキストボックスの番号を使っ...
-
DATE型変数を初期化する方法
-
初歩的な事だと思います。 Sub...
-
なんで
-
Excel-VBAでInputBox+Pulldown...
-
お問い合わせフォームから送信...
-
私、Paiza Cloudやっているのだ...
-
VBAでInputBoxの再入力をさせる...
-
TextBoxから数字が文字...
-
EXCEL VBA で指定した範囲に入...
-
excel vba でユーザーフォーム...
-
フォームを再送信しますか?
-
エディットボックスの入力制限...
-
c#でTextBoxの入力制限
-
DataGridViewの桁数制限に関して
おすすめ情報