• ベストアンサー

エクセルのマクロを用いてチェックボックスをまとめてチェックする方法

エクセルを用いてチェックボックスが縦に並んだ書類を作っているのですが、チェックする項目のパターンが決まっているので毎回同じところにチェックするのが面倒です。 ワンクリックで複数のチェックがかけられるようにしたいのですが、 ツール→マクロ→新しいマクロの記録 で複数のチェック「レ」ができるようにマクロのを登録してみたのですがチェックがかかりません。 何かよい方法は無いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 全部チェック Sub Test1() 'フォームツール  ActiveSheet.CheckBoxes.Value = True End Sub Sub Test2() 'コントロールツール   Dim ctrl As Object   For Each ctrl In ActiveSheet.OLEObjects     If TypeOf ctrl.Object Is MSForms.CheckBox Then       ctrl.Object.Value = True     End If   Next ctrl End Su 個別にチェック Sub Test1a() 'フォームツール  ActiveSheet.CheckBoxes(Array(1, 3, 5)).Value = True End Sub Sub Test2a() 'コントロールツール   Dim i As Variant   For Each i In Array(1, 3, 5)     ActiveSheet.OLEObjects("CheckBox" & i).Object.Value = True   Next i End Sub なお、シートモジュールの場合は、ActiveSheet. は不要です。

ryunosakebi
質問者

お礼

ご回答ありがとうございました。 どうも会社のPCがすべてマクロ禁止に設定されていることができない原因のようでした・・。お騒がせいたしました。

その他の回答 (2)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

シートに貼り付けたフォームのチェックボックス1・3・5にチェックを入れて、 それ以外はチェックを外すのなら。 Sub try()   Dim c As Excel.CheckBox   For Each c In ActiveSheet.CheckBoxes     Select Case Replace(c.Name, "Check Box ", "")     Case 1, 3, 5       c.Value = xlOn     Case Else       c.Value = xlOff     End Select   Next End Sub こんなのとか?

ryunosakebi
質問者

お礼

ご回答ありがとうございました。 どうも会社のPCがすべてマクロ禁止に設定されていることができない原因のようでした・・。お騒がせいたしました。

  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.1

チェックボックスのValueプロパティをTrueにして下さい。

ryunosakebi
質問者

お礼

ご回答ありがとうございました。 どうも会社のPCがすべてマクロ禁止に設定されていることができない原因のようでした・・。お騒がせいたしました。

関連するQ&A

専門家に質問してみよう