すぐマク YNxv9g0530 Home | Search | Contents | Gallery | Introduction | Service | Support | What's New!
たくさんのチェックボックスを一度にクリアするには?(ワークシート)
Question 54.8 チェックボックス・コントロール Previous Next
セル上(ユーザーフォームではありません)に配置したチェックボックスに関する質問です。
マクロでセル上に複数(70個)配置したチェックボックスをクリアしたいのですが、困惑中です。
解決策をお願いいたします。
Answer  Excel 97以上(Mac版除く) Copyright (C) 2002.9.15 Yoshioh Nagai
ワークシートに配置した[コントロールツールボックス(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 に変えればオンにすることができます。
http://www.geocities.jp/happy_ngi/ Home | Contents | Gallery | Introduction | Service | Support | What's New!

Click here to visit our sponsor