【エクセル】チェックボックスのリンクするセルを自動で指定【excel】

Excelでアンケートを作るときに、開発タブを表示して、「挿入→フォームコントロール→チェックボックス」でチェックボックスを追加できるんですが、チェックボックスを100個とか作るときに、手動だと大変だし、コピペすると「リンクするセル」が全部同じになってしまって、使い物にならないのでチェックボックスとそのリンクするセルを自動で挿入するマクロを作りました。

「開発」タブの表示方法

あんまりこの記事とは関係ないのですが、「開発」タブがエクセルのウインドウの上に表示されてない時は、オプションで表示させます。

ます、「(ウインドウ左上)ファイル→(ウインドウ左下)オプション」でオプションウインドウを標示します。(わかりにくい場合は「エクセル 開発 タブ 表示」などで調べると色々出てきます。)

エクセルのオプション

次に、オプションウインドウで→左側のメニューの下のほう「リボンのユーザー設定」をクリック→ウインドウ右側「リボンのユーザー設定」の下のセレクトボックスで「メインタブ」を選択→その下に表示されるツリー上のチェックのリストの「開発」のチェックをON→ウインドウ右下の「OK」ボタンをクリックすると、エクセルのウインドウの上に「開発」というタブが表示されるようになります。

開発タブ

マクロを追加する準備

で、マクロを追加していきます。開発タブをクリック→VisualBasicをクリック。VisalBasicのウインドウが開きます。

VB起動

VisualBasicのウインドウで、挿入→標準モジュールを選択。そうすると、ウインドウ左側に「標準モジュール」というフォルダができて、その下に「Module1」というのが追加されるのでダブルクリックします。

標準モジュールの追加

チェックボックス自動挿入マクロをコピペして保存

下記マクロをコピペして保存します。

チェックボックスを設置する列やらなんやらを入力して設定できるようにしています。あと、チェックボックスの位置調整が微妙にめんどいので、セルの中央に来るように計算しています。

コピペ、保存、閉じる。

チェックボックス自動挿入マクロを実行する

マクロの実行は、「開発」タブの「マクロ」→「チェックボックス自動生成(さっき作ったマクロ名)」→「実行」で実行できます。

マクロの実行

ダイアログが出てくるので必要事項を入力するとこんな感じで自動的にチェックボックスが挿入されます。

実行結果

応用編:色が付いたところだけ挿入するやつ

実用上は、チェックボックスがダーッと並んでいる場合じゃなくて、行が飛び飛びでチェックボックスを挿入したい時があります。

そこで、マクロを改造して「色がついているときはチェックボックスを入れる」というマクロを作りました。

22行目「13431551」という番号が、色の番号です。(正確にはちょっと違うけど、細かいことは良いからとにかくゴールに行きたい人は色の番号くらいの認識でも良いかなと思います。)

で、具体的に「どの色がどの番号になるか」が分からないと話にならないので、ついでに「現在選択中のセルの色を調べる」というマクロも追加しています。

背景色を設定したセルを1つ選択して、「現在のセルの背景色を取得する」というマクロを実行すれば、そのセルの中にその色の番号が入力されます。そこに表示された番号を22行目の「13431551」と入れ替えると、自分が思った色の列にだけチェックボックスを追加できます。

・・・という感じです。シート全体を検索する方法とか色々ありますが、これでかなりの省力化ができるのではないでしょうか。別のワークシートと一緒に開いておけば、別のワークシート上でも使えるので1個作っておくと便利です。

仕事の省力化に役立てられたら幸いです。

 

 

 

質問・コメントなどあればどうぞ