【備忘録】Excelでチェックボックスを綺麗に挿入する方法

Excel Tipsのイメージ画像

先日、お仕事で事務処理のチェックリストを作ることになりました。
ChatGPTに聞いたり、Google先生に聞いたりしながら作業を進めていたのですが、なかなか思うように出来なかったので備忘録として残しておきます。
今回作りたかったのはこんな表です。案件ごとにやるべきことが完了しているかをチェックする一覧表です。

実作業前の準備

Excelのデフォルト設定ではチェックボックスを利用できる状態になっていません。
実作業に入る前に、以下の手順でチェックボックスを利用できる状態にする必要があります。

  1. ファイル → オプション → リボンのユーザー設定
  2. 開発にチェックを入れる
  3. 開発がタブに表示される

チェックボックス挿入作業

それでは実際にチェックボックスの挿入作業を行っていきます。

  1. 開発 → 挿入をクリック
  2. フォームコントロール or ActivXコントロールのチェックボックスをクリック
  3. チェックボックスを挿入したい場所にドラッグ&ドロップ

フォームコントロールとActiveXコントロールの違い

【フォームコントロール】
位置付け:Excel標準機能に組み込まれたシンプルなオブジェクト
主な用途:複雑な設定なしで、手軽にオン/オフを管理したい時
得意な事:セルとの連動(TRUE/FALSE表示)など単純な機能

【ActiveXコントロール】
位置付け:VBA・プログラミングとの連携を前提とした高機能なオブジェクト
主な用途:細かなカスタマイズや複雑な処理をマクロで実行したい時
得意な事:見た目の変更や高度なVBA処理との連携

ざっくり言うと、ActiveXコントロールはプログラミング(VBA)で動かすことを前提に作られた、「高機能な機能」だとイメージしてください。

綺麗に並べるためのテクニック

フォームコントロール、ActiveXコントロールのどちらを利用するかは作成するドキュメントに依存すると思います。
ただ、どちらを利用するにしても、見た目を綺麗に等間隔でチェックボックスを配置する必要があります。

揃えて配置するためのテクニック

デフォルトのまま利用する場合、セルに関係なく好きな場所にチェックボックスを配置できます。
今回は縦に綺麗にそろえて配置したいのですが、手動で揃えるのはなかなか大変です。
そんな時は以下のやり方がオススメです。(両方のコントロールで比較します。)

  1. セルにチェックボックスを配置する
  2. チェックボックスを選択する
  3. 図形の形式というメニューが追加されるのでクリック
  4. 枠線に合わせるをクリック
  5. 開発 → 挿入 → チェックボックス → ドラッグ
  6. 自動的にセルの枠線の通りにチェックボックスを配置してくれます(両方同じ)

どちらを使うか選んだ理由

実はこのチェックシートは100行以上のシートです。
また入力内容がバラバラで、すべての行が同一の高さにはできませんでした。
このような状況でチェックボックスを綺麗に配置するにはオートフィルでセルをコピーする必要がありました。
見栄えはフォームコントロールの方が良かったのですが、これがActiveXコントロールを選ぶ決めてとなりました。

フォームコントロールの場合、コントロールの書式設定で
「セルに合わせて移動やサイズを変更する」
が選択できなかったのです。(原因不明)

これがオートフィルを実施するとどういう結果になるかというと…
フォームコントロールはすべて右上にチェックボックスが配置されてしまうのに対し、ActiveXコントロールは行の幅に合わせてセンターに配置してくれます。

次なる問題

ActiveXコントロールを使うことに決めましたが、このコントロールは背景があるらしく枠線が消えてしまいます。
これをなんとかしたいと思いChatGPTとGoogle先生で調べると、解決策が見つかりました。

  1. ActiveXコントロールを選択 → 右クリック → プロパティをクリック
  2. BackStyleを「0 – fmBackStyleTransparent」へ変更

この状態でオートフィルをすると、こんな感じで綺麗に枠線も表示できています。

結論

結構苦労して作成したチェックリストでしたが、実はこのままの利用を諦めました。
このチェックボックス、あまり感度がよくありませんでした。
クリックだけでチェックがつくので1アクションで操作ができるとおもっていたのですが、チェックするのに2〜3アクションかかる感じです。

また、行数の多い、しかも1行の高さがまちまちのドキュメントだと、オブジェクトの貼り付けはカスタマイズ性に難ありです。
簡単なアンケートなどでは良いかもですが、今回は少し違った感じです。
結局、リストでチェックを選ぶシートに作り変えました。(笑)

タイトルとURLをコピーしました