[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『チェックボックスにチェックを入れると他のセルが無効になる方法』(初心者)
質問です。
以下のようにセルに文字が入力されていたとして(□はチェックボックスです)
111、222それぞれ一つだけチェックボックスを入れたら他のチェックボックスにチェックは入れられないようにする方法が知りたいです。
111□
111□
111□
111□
222□
222□
222□
222□
222□
↓
111☑︎
111□入力できない
111□入力できない
111□入力できない
222□入力できない
222☑︎
222□入力できない
222□入力できない
222□入力できない
わかりづらく申し訳ありませんが、ご教示いただけますと幸いです。
< 使用 Excel:unknown、使用 OS:unknown >
それはチェックボックスではなくオプションボタン(ラジオボタン)で やるべきことでは? (コナミ) 2023/02/16(木) 13:04:06
>チェックボックスにチェックを入れると他のセルが無効
無効とは?
1つ目のチェックボックスにチェックを入れると
A.2つ目以降の111に紐づけられたチェックボックスにチェックが入らないようになる
B.2つ目以降の111に紐づけられたチェックボックスにチェックを入れると1つ目のチェックボックスのチェックが外れる
どちらでしょう?
各チェックボックスごとに
checkbox1_click()でイベントを拾えばできそうですね
あと、気になった点として、
標準コントロールのチェックボックスであれば
ワークシートのどこにでも配置できますよね?
最初の疑問の「紐づけ」は
チェックボックスの位置をずらされて
111のチェックボックスのつもりが222の位置にされたら見た目では判断しずらいですよ。
(たつ) 2023/02/16(木) 13:29:54
CheckBox1〜5、CheckBox6〜10を一つのグループとして
その中の一つにチェックを入れると他のチェックボックスがクリックできなくなります。
チェックの入ったボックスを再度クリックしてチェックを外すと
グループ内のチェックボックスは再度チェックを入れることができるようになります。
Private Sub CheckBox1_Click() Call CheckboxGroup(1, (CheckBox1.Value) * -1) End Sub Private Sub CheckBox2_Click() Call CheckboxGroup(1, (CheckBox2.Value) * -2) End Sub Private Sub CheckBox3_Click() Call CheckboxGroup(1, (CheckBox3.Value) * -3) End Sub Private Sub CheckBox4_Click() Call CheckboxGroup(1, (CheckBox4.Value) * -4) End Sub Private Sub CheckBox5_Click() Call CheckboxGroup(1, (CheckBox5.Value) * -5) End Sub Private Sub CheckBox6_Click() Call CheckboxGroup(6, (CheckBox6.Value) * -6) End Sub Private Sub CheckBox7_Click() Call CheckboxGroup(6, (CheckBox7.Value) * -7) End Sub Private Sub CheckBox8_Click() Call CheckboxGroup(6, (CheckBox8.Value) * -8) End Sub Private Sub CheckBox9_Click() Call CheckboxGroup(6, (CheckBox9.Value) * -9) End Sub Private Sub CheckBox10_Click() Call CheckboxGroup(6, (CheckBox10.Value) * -10) End Sub
Private Sub CheckboxGroup(ByVal StartNumber As Long, ByVal ClickedNumber As Long) Dim i As Long Dim buf As Boolean
If ClickedNumber < 1 Then buf = True End If For i = StartNumber To StartNumber + 4 If i <> ClickedNumber Then With ActiveSheet.OLEObjects("CheckBox" & i) .Enabled = buf End With End If Next End Sub
(ふなば) 2023/02/16(木) 14:34:10
>それはチェックボックスではなくオプションボタン(ラジオボタン)
(普通だよ) 2023/02/16(木) 18:57:26
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.