プロが教える店舗&オフィスのセキュリティ対策術

エクセルのチェックボタンはマウスをつかって便利なものであるが、VBAマクロをつかって
例えば B2:B20までチェックボタンが19個あった場合、とりあえず一気にチェックを19個をオンにしたり、オフにしたりすることはできないものか ご教授ください。

A 回答 (3件)

他の回答者さんたちは指摘していないけれども、チェックボタンは、フォームコントロールでしょうか。


もし、ActiveXコントロール でしたら、場合によって失う可能性がありますから、フォーム側に切り替えたほうがよいです。私は、何度消えてしまったのか分からないです。フォームコントロール側は復活しますが、ActiveX コントロールは完全になくなってしまいます。

>一つのアクテブ画面で 右側と左側の(または下側 上側)チェックの二本があった場合 今回は ここの左側だけなど と 範囲を絞った場合はどのように指示するのでしょうか。

その上での回答ですが、一気にするのは、全部をOn/Off するのは、コントロール配列という技法を使います。
半分とか一部の場合は、範囲を指定して以下のようにします。なお、付け足しの質問は新たに質問を起こしたほうが良いですよ。

Sub TotalCheckBoxes()
With ActiveSheet
.CheckBoxes.Value = True
End With
End Sub

Sub HalfCheckBoxes()
 Dim i As Long
 Dim flg As Boolean
 flg = False
 With ActiveSheet
  For i = 1 To .CheckBoxes.Count
   If Not Intersect(Range("D2:D12"), .CheckBoxes(i).TopLeftCell) Is Nothing Then
    .CheckBoxes(i).Value = flg
   End If
  Next i
 End With
End Sub
「エクセルでチェックボタンの一斉解除または」の回答画像3
    • good
    • 0

こちらも参考程度に。


https://kokodane.com/2013_macro_71.htm
    • good
    • 0
この回答へのお礼

なんとかできました。有難うございました。さらに追加して ご質問したいのですが 一つのアクテブ画面で 右側と左側の(または下側 上側)チェックの二本があった場合 今回は ここの左側だけなど と 範囲を絞った場合はどのように指示するのでしょうか。(VBA記述)

お礼日時:2019/02/18 04:13

出来ますよ。

勉強してみて。
https://tripbowl.net/vba-checkbox/
    • good
    • 0
この回答へのお礼

なんとかできました。有難うございました。チェックポイントの範囲指示記述もおしえてください。

一つのアクテブ画面で 右側と左側の(または下側 上側)チェックの二本があった場合 今回は ここの左側だけなど と 範囲を絞った場合はどのように指示するのでしょうか。(VBA記述)

お礼日時:2019/02/18 04:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!