• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBA 条件を満たしたセル上にあるチェックボックス)

Excel VBA 条件を満たしたセル上にあるチェックボックス

このQ&Aのポイント
  • Excel2003を使用しています。Sheet1のN4セルの値と同じ値が入力されているセルをSheet2のA列(A1:A50)から検索し、その行のB列に配置されているチェックボックスにチェックをつけたい。
  • 指定したセルの値と一致するセルを検索し、その行のチェックボックスにチェックをつける方法を教えてください。
  • チェックをつけたいチェックボックスを指定する方法がわかりません。別の方法もありましたら、アドバイスをいただけると嬉しいです。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

No1 merlionXXです。 KOH3193さんは、前回の質問の際、フォームではなくコントロールツールボックスのチェックボックスを使うとお書きでしたね。 一応、コントロールツールの方も書いておきます。 Sub test02() With Sheets("Sheet2") myNum = Sheets("Sheet1").Range("N4").Value Set Rng = .Range("A1:A50").Find(myNum).Offset(0, 1) For Each ob In .OLEObjects If ob.TopLeftCell.Address = Rng.Address Then If TypeOf ob.Object Is MSForms.CheckBox Then ob.Object.Value = True Exit For End If End If Next End With Set Rng = Nothing End Sub

KOH3193
質問者

お礼

お礼が遅くなり、申し訳ありません&回答ありがとうございます! 今回も、merlionXX さんの目に留まり、運が良かったです♪ お察しのとおり、コントロールツールボックスのチェックボックスを使用していますので、No.2のコードも記載していただき、大変助かりました。 ありがとうございました。

その他の回答 (1)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

フォームのチェックボックスでしたら以下で出来ると思います。 Sub test01() With Sheets("Sheet2") myNum = Sheets("Sheet1").Range("N4").Value Set Rng = .Range("A1:A50").Find(myNum).Offset(0, 1) For Each cb In .CheckBoxes If cb.TopLeftCell.Address = Rng.Address Then cb.Value = xlOn Exit For End If Next End With End Sub

関連するQ&A