[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ブック内のトグルボタンをOFFにする』(初心者)
sheet1,2,3,4のそれぞれにトグルボタンを設置し、下記コードを登録しています。
トグルボタンを押すたびに不要な行の表示・非表示を切り替えています。
Private Sub ToggleButton1_Click()
Application.ScreenUpdating = False With ToggleButton1 If .Value Then .Caption = "0値及び小科目以降表示" 'トグルボタンONの処理 Range("B6:C250").AdvancedFilter _ Action:=xlFilterInPlace, _ CriteriaRange:=Range("B2:C4"), _ Unique:=False Application.ScreenUpdating = True MsgBox "0値及び収益以外の小科目以降を非表示にしました。", vbInformation Else 'トグルボタンOFFの処理 .Caption = "0値及び収益以外の小科目以降非表示" Range("C6:C250").AdvancedFilter _ Action:=xlFilterInPlace, _ CriteriaRange:=Range("C2:C4"), _ Unique:=False
Application.ScreenUpdating = True MsgBox "0値及び小科目以降を表示しました。", vbInformation End If End With
End Sub
これを別でコマンドボタンを設置し押したときに、4つすべてのトグルボタンに対してONの状態ならOFFに、OFFになっていたらそのまま(何もしない)という風にしたいのですができません。
やる方法がありますか?
< 使用 Excel:Excel2016、使用 OS:Windows10 >
Sub test() Sheet1.ToggleButton1.Value = Not Sheet1.ToggleButton1.Value Sheet2.ToggleButton1.Value = Not Sheet2.ToggleButton1.Value Sheet3.ToggleButton1.Value = Not Sheet3.ToggleButton1.Value Sheet4.ToggleButton1.Value = Not Sheet4.ToggleButton1.Value End Sub なんていうのではどうですか?(ボタン名、シート名は適宜修正してください) (γ) 2020/08/09(日) 09:17
(γ) 2020/08/09(日) 09:22
最後のメッセージの
MsgBox "0値及び小科目以降を表示しました。", vbInformation
は実行されないようにしたいのですができますか?
(初心者) 2020/08/09(日) 10:05
>MsgBox "0値及び小科目以降を表示しました。", vbInformation その行だけ削除すればいいんじゃないですか。 またはMsgBoxの頭に(')をつけてコメントアウトしたらどうですか。 (um) 2020/08/09(日) 11:00
フラッグを使って、表示非表示を切り分けたらどうですか?
(1) 標準モジュールで以下のフラッグを宣言しておく Public silentFlag As Boolean
(2) それぞれのToggleButton1_Click()のなかで、以下のように修正 If silentFlag = False Then MsgBox "0値及び小科目以降を表示しました。", vbInformation End If
(3)一括OFFの実行時にはフラッグを立ててから実行し、元に戻す。 Sub test() silentFlag = True Sheet1.ToggleButton1.Value = False ' 他も同じ。省略 silentFlag = False End Sub (γ) 2020/08/09(日) 12:32
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.