下記の例は10個ですが500にでも変えられるでしょう。
Sheet1で実験
C列にチェックスを並べる(他の列にするには”C”を
別のものに変える)
リンクドセルをF列に設定(他の列にするには”F”を
別のものに変える)
チェックボックスの見出しもSheet2とかの対応行に
セットしておけば、それを使って自由に表示できそう。
下記はあまり解説書にも載ってません。チェックボックスの貼りつけは、VB・VBAなどは手動でやらせる建前ですから。そういう意味で貴重なはず。
Worksheets("sheet1").DrawingObjects.Delete
はテストの時クリアするため使ったものですが、有害なら
コメント化して下さい。
Sub test01()
Worksheets("sheet1").DrawingObjects.Delete
l = Cells(1, "c").Left
h = Cells(1, "c").Height
w = Cells(1, "c").Width
For i = 1 To 10
t = Cells(i, "c").Top
ActiveSheet.CheckBoxes.Add(l, t, w, h).Select
Selection.Characters.Text = "チェック " & i
With Selection
.LinkedCell = Cells(i, "F").Address
End With
Next i
End Sub
一遍に行に色づけ
Sub test02()
n = Worksheets("sheet1").CheckBoxes.Count
MsgBox n
For i = 1 To n
If ActiveSheet.CheckBoxes(i).Value = xlOff Then
Range(Cells(i, 1), Cells(i, 10)).Interior.ColorIndex = 8
End If
Next i
End Sub
フォームのチェックボックスの場合で、コントロールツールボックスのイベントのTargetに当たるものが判らず、チェックボックスをONに変えたイベントで、その行の色を脱色するコードが作れません。済みません。Indexでなんとかならないかな。
お礼
非常にすばらしいですね。着色までしてもらい、ありがとうございます。チェックボックス初期値offにし、着色は、最初に色がついていて、チェックを入れる毎に消えるほうが、都合がいいため条件付き書式ですることにします。 すぐに作ることができました。本当にありがとうございました。