ちょっと前に、Excel でチェックボックスを付ける機能が追加されました。
「そういう機能がリリースされる」っていう記事を読んで、ちょっと楽しみにしていたんですよねー。
Google スプレッドシートでは、チェックボックスの機能はすでにありました。
設置したいセルを選択して、メニューから『挿入』 → 『チェックボックス』で付けることができます。
Excel のチェックボックスもそれと同じで、設置したいセルを選択してリボンの『挿入』タブから『チェックボックス』で付けることができました。
セルのちょうど真ん中にきれいに入り、ON にするとそのセルが『TRUE』になるところも同じです。
セルの幅や高さを変更していたり、複数のセルを結合していたとしても、そのセルの中心にきれいにチェックボックスを入れてくれるところは嬉しいですね。
今まで、Excel でチェックボックスを使おうと思ったら、ほとんどが『フォームコントロール』の『チェックボックス』だったんじゃないでしょうか。
フォームコントロールでいれると、チェックボックスに文字列が付けられます。
クリックの判定がその文字のところまで付くので、ON・OFF の切り替えのクリック範囲が広めなのは良かったかもしれません。
でも、チェックボックス自体がチェック済みかどうかを返す場所をわざわざ自分で選ばなければいけなかったり、『TRUE』『FALSE』が書かれるセルを隠すのにちょっとひと手間必要だったり。
…見えないところに移動させる、チェックボックスの塗りつぶしを設定して隠す、などです。
でも、今回の新機能のチェックボックスはそのあたりは一発クリアなのがいいですね。
「チェックボックス自体に文字列を付けたい」という場合はフォームコントロールの方で、なんて感じに使い分けるのがいいのかな。
あとは、この新機能のチェックボックス、ボックスの枠が太めで真っ黒(#000000)なので、なんか主張して来るんですよね。
『フォントの色』から好きな色を指定することで、ボックスの色を変えられるところも嬉しいです。
複数のチェックボックスを選択した状態で『スペース』キーを押すと、いっぺんにチェックを入れたり消したりすることができます。
チェックを消すだけなら、複数選択で『Delete』キー1回でも同じ動きをします。
その状態でもう1回『Delete』キーを押してしまうと、チェックボックス自体が消えてしまいますが。
VBA でも設置することができました。
Selection.CellControl.SetCheckbox '…①
Selection.Font.Color = RGB(128, 128, 128) '…②
①で、そのセルに新機能のチェックボックスを設置できます。
そのセルのまま②で、ボックスの色を変更できます。
うん、便利です。
今までは、チェックを入れる場合、ワークシートのところに以下を記述して、ON・OFF に使っていました。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Interior.Color <> 16777215 Then
If Target.Value = "" Then
Target.Value = "●"
Else
Target.Value = ""
End If
Cancel = True
End If
End Sub
上のコードだと、白以外のセルの上でダブルクリックすると『●』がついたり消えたりするので、手軽にON・OFF を切り替えることができます。
便利なのでよく使っていたんですが、やっぱりコードを書かなきゃいけないので、コードを書かない人には扱いづらいですね。
コード内で範囲を指定すれば、設置の手間が不要で使えるので、そういう意味でも便利でした。
でも、『ダブルクリック』というのが若干面倒ではありました。
今回の『チェックボックス』はシングルクリックですもんねー。
使用する人にとってはこっちのほうが楽かもしれないのですね。
あと問題は、Excel のバージョンかなー。
Microsoft365 であればいつでも最新のものが使えるけど、古いバージョンだと使えないのかな。
なので、人にあげるファイルの場合は確認が必要ですね。
夫は、「バージョンが古い場合が結構あるから、いまだに XLOOKUP だって使いづらい」って言ってますからね…。
企業で Excel を使っている場合は、365にして欲しいですね…。
話がいろいろ飛んでしまいましたが、新機能の『チェックボックス』自体は便利だなと感じました。
他にいい使い道があるかもしれないので、いろいろ試していこうと思います。
コメント