いつもお世話になっております。
ExcelVBAでチェックボックスを使うVBAを作っているのですが、分からないところがあります。
上画像のチェックボックスで、「対象ファイル全て」をチェックすると
それ以降のチェックボックスが使用禁止になるようにしたい
###聞きたいこと
考えたソースはこちらです。
VBA
1Option Explicit 2Sub Chk_ALL_Click() 3 If ActiveSheet.CheckBoxes("Chk_ALL").Value = xlOn Then 4 ActiveSheet.CheckBoxes("Chk_Excel").Enabled = False 5 ActiveSheet.CheckBoxes("Chk_Word").Enabled = False 6 ActiveSheet.CheckBoxes("Chk_PPT").Enabled = False 7 ActiveSheet.CheckBoxes("Chk_Msg").Enabled = False 8 Else 9 ActiveSheet.CheckBoxes("Chk_Excel").Enabled = True 10 ActiveSheet.CheckBoxes("Chk_Word").Enabled = True 11 ActiveSheet.CheckBoxes("Chk_PPT").Enabled = True 12 ActiveSheet.CheckBoxes("Chk_Msg").Enabled = True 13 End If 14End Sub
上記コードにしてチェックを入れると、Excel以降のチェックボックスはチェックを入れることができなくなります。
しかし、チェックを入れることはでいないとはいえ全体としてはそのまま見えている状態なので、
これを**「チェックを入れることが出来ない状態」と見て分かるようにしたい**です。
↑こんな感じにしたいです。
それで色々と調べたところ、「Visible」も入れるといいということを知りました。
それで以下のようにコードを入れてみました。
VBA
1Option Explicit 2Sub Chk_ALL_Click() 3 If ActiveSheet.CheckBoxes("Chk_ALL").Value = xlOn Then 4 ActiveSheet.CheckBoxes("Chk_Excel").Visible = False 5 ActiveSheet.CheckBoxes("Chk_Word").Visible = False 6 ActiveSheet.CheckBoxes("Chk_PPT").Visible = False 7 ActiveSheet.CheckBoxes("Chk_Msg").Visible = False 8 Else 9 ActiveSheet.CheckBoxes("Chk_Excel").Visible = True 10 ActiveSheet.CheckBoxes("Chk_Word").Visible = True 11 ActiveSheet.CheckBoxes("Chk_PPT").Visible = True 12 ActiveSheet.CheckBoxes("Chk_Msg").Visible = True 13 End If 14End Sub 15
しかし、結果はこうなりました。
そうではなく、上の画像のように灰色にして「チェックを入れることができない」ということが
見て分かるようにしたいのですが、どうすればよいのでしょうか?
他にも色々と調べたところ、文字のフォントカラーを変えるなど色々とあったのですが
フォントカラーを変えなくてもできるのでは・・と思ったので、ここで聞いてみました。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/03/24 08:41
退会済みユーザー
2020/03/24 13:18