たくさんのチェックボックスを一度にクリアするには?(ワークシート)

Question 54.8 Excel VBA Borad (掲示板)より Previous Next
セル上(ユーザーフォームではありません)に配置したチェックボックスに関する質問です。
マクロでセル上に複数(70個)配置したチェックボックスをクリアしたいのですが、困惑中です。
解決策をお願いいたします。
Answer  Excel 97以上(Mac版除く) Copyright (C) 2002.9.15 永井善王
ワークシートに配置した[コントロールツールボックス(ActiveXコントロール)]のチェックボックスのことで、[フォーム]ツールバーのチェックボックスのことではないですね。
次のページに類似例があり、参考になるかと思います。
 オブジェクト名を変化させながら使うには? (ワークシート)
 オブジェクト名を変化させながら使うには? (ユーザーフォーム)

私も勉強中で十分理解できてはいないですが、一応、次のマクロで実現するかと思いますから試してみて、結果をお知らせください。
ワークシートのチェックボックス
'----------------------------------------------------------
Sub チェックボックスをオフにする()
Dim オブジェクト As OLEObject
Dim 名前 As String
    For Each オブジェクト In ActiveSheet.OLEObjects
        If オブジェクト.progID = "Forms.CheckBox.1" Then
           名前 = オブジェクト.Name
           ActiveSheet.OLEObjects(名前).Object.Value = False
        End If
    Next
End Sub
'----------------------------------------------------------
なお、9行目の ・・Value = False でオフにしていますが、・・Value = True に変えればオンにすることができます。

 

Excel VBA Macro