• ベストアンサー

範囲を指定してチェックボックスを削除したい

Excelのワークシート上にチェックボックスを多数配置しています。 Range("D23:I27")の範囲にあるチェックボックスを除き(←ここは固定したい) 31行目以下のチェックボックスをVBAで削除したいのですが、 そのようなことって可能なのでしょうか。 Worksheets("A").Range("F31").CheckBoxes.Delete などとしてみましたがだめでした。 どなたか教えてください。

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

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

コントロールツールボックスのチェックボックスなら Dim Chk As OLEObject For Each Chk In ActiveSheet.OLEObjects   If TypeName(Chk.Object) = "CheckBox" Then     If Chk.TopLeftCell.Row <= 31 And Intersect(Chk.TopLeftCell, Range("D23:I27")) Is Nothing Then Chk.Delete   End If Next フォームのチェックボックスなら Dim Chk As Excel.CheckBox For Each Chk In ActiveSheet.CheckBoxes   If Chk.TopLeftCell.Row <= 31 And Intersect(Chk.TopLeftCell, Range("D23:I27")) Is Nothing Then Chk.Delete Next

eririn777
質問者

お礼

フォームのチェックボックスでしたので2番目の方でパーフェクトで解決しました。 非常に助かりました。ありがとうございます。またよろしくお願いします。

関連するQ&A