チェックボックスの制御
チェックボックスがONの場合、文字を太くする。
チェックボックスがOFFの場合、文字を標準にする。
今回は、コントルールを使用せず、チェックボックス風にしたサンプルとなっております。
□■マークを切り替え、チェックボックス風にする
シートに四角マークを入力
シートの回答列に□(しかく)と入力します。
Visual Basic Editorの起動
「開発」タブ→「Visual Basic」を選択し、VBE(Visual Basic Editor)を起動します。
↓
サンプルプログラム
ワークシートに入力
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
'*************************************************** '【処理概要】 ' 3列目にフォーカスが当たった場合のみ処理を行う。 ' セルの値を取得。□マークの場合、■マークに切り替える。 ' セルの値を取得。■マークの場合、□マークに切り替える。 ' セルの値を取得。□マークの場合、チェック項目の文字を標準にする。 ' セルの値を取得。■マークの場合、チェック項目の文字を太字にする。 ' SelectionChangeイベントは、一度、別セルに移動させないと発動しないので、強制的にセル(1, 4)にフォーカス移動 '*************************************************** Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim lActiveRow As Long Dim lActiveCol As Long lActiveRow = ActiveCell.Row lActiveCol = ActiveCell.Column If lActiveCol = 3 Then If Cells(lActiveRow, lActiveCol).Value = "□" Then Cells(lActiveRow, lActiveCol).Value = "■" ElseIf Cells(lActiveRow, lActiveCol).Value = "■" Then Cells(lActiveRow, lActiveCol).Value = "□" End If If Cells(lActiveRow, lActiveCol).Value = "■" Then Cells(lActiveRow, 2).Font.Bold = True ElseIf Cells(lActiveRow, lActiveCol).Value = "□" Then Cells(lActiveRow, 2).Font.Bold = False End If Cells(1, 4).Activate End If End Sub |
最後まで読んでいただき、ありがとうございました!
本のまとめ記事はこちら