- ベストアンサー
Excel VBA 条件を満たしたセル上にあるチェックボックス
- Excel2003を使用しています。Sheet1のN4セルの値と同じ値が入力されているセルをSheet2のA列(A1:A50)から検索し、その行のB列に配置されているチェックボックスにチェックをつけたい。
- 指定したセルの値と一致するセルを検索し、その行のチェックボックスにチェックをつける方法を教えてください。
- チェックをつけたいチェックボックスを指定する方法がわかりません。別の方法もありましたら、アドバイスをいただけると嬉しいです。
- みんなの回答 (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
その他の回答 (1)
- merlionXX
- ベストアンサー率48% (1930/4007)
フォームのチェックボックスでしたら以下で出来ると思います。 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
お礼
お礼が遅くなり、申し訳ありません&回答ありがとうございます! 今回も、merlionXX さんの目に留まり、運が良かったです♪ お察しのとおり、コントロールツールボックスのチェックボックスを使用していますので、No.2のコードも記載していただき、大変助かりました。 ありがとうございました。