- ベストアンサー
エクセルのチェックボックスについて
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
nasu000_0002様 こんにちは マクロを作成することで解決することができます。また、その作業をするPCに「アドイン」を 組み込むことで、さらに簡単に作業をすることができます。 ためしにアドインを作ってみました。このアドインを組み込むと、以降は全ての作業中のブックに対して、 ・任意のセルを選択(ドラッグして広い範囲を選択してもOK) ・選択範囲でマウスを右クリックし、右クリックメニューから「チェックボックスの挿入」を選択 ・選択された全てのセルにチェックボックスが挿入される。(チェックボックスはそれぞれのセルの左上を基準) といった形で、簡単にチェックボックスを入れることができるようになります。 さて、アドインを組み込む手順を以下に示します。面倒なのは最初だけですので、がんばってみてください。 1) まずはExcelを起動します。作業手順が煩雑にならないよう、他のブックは閉じておいて下さい。 2) Excelが起動されたら、現在のブック名(一つしか立ち上げていなければBook1のはずですが)を確認しておきます。 3) 「Alt」キーを押しながら「F11」キーを押します。すると、Microsoft Visual Basicというウィンドウが起動します。 4) 左側の「プロジェクト-VBAProject」と書かれた部分から、VBAProject(Book1)を探します。 現在のブック名がBook1でなければ、その名前のVBAProjectを探します。 5) このなかの「ThisWorkbook」をダブルクリックします。 6) 画面右側に、以下の文をコピーし、貼り付けます。 'ここからコピー------------------------------------- Private Sub Workbook_AddinInstall() Call AddMenu End Sub Private Sub Workbook_AddinUninstall() Call DelMenu End Sub 'ここまでコピー------------------------------------- 7) 左側画面の「ThisWorkbook」を、今度は右クリックし、「挿入(N)」-「標準モジュール(M)」を選択します。 8) すると、ThisWorkbookの下に「標準モジュール-Module1」が作成されるとともに、右側が白くなります。 9) 念のため、Module1をダブルクリックし、画面右側に、以下の文をコピーし、貼り付けます。 'ここからコピー------------------------------------- Sub AddCBox() Dim CB As CheckBox Dim SelCell As Range For Each SelCell In Selection Set CB = ActiveSheet.CheckBoxes.Add(SelCell.Left, SelCell.Top, SelCell.Width, SelCell.Height) CB.Text = "" Next SelCell End Sub Sub AddMenu() Dim Newb Set Newb = Application.CommandBars("Cell").Controls.Add() With Newb .Caption = "チェックボックスの挿入" .OnAction = "AddCBox" .BeginGroup = False End With End Sub Sub DelMenu() Application.CommandBars("Cell").Controls("チェックボックスの挿入").Delete End Sub 'ここまでコピー------------------------------------- 10) Microsoft Visual Basic ウィンドウを終了してください。ここでは保存の必要はありません 11) Excelの画面に戻ったらブックを保存しますが、「名前をつけて保存」ダイアログが表示された際、「ファイルの種類(T)」を 「Microsoft Office Excel アドイン(*.xla)」に変更します。 12) 保存先が勝手に「AddIns」に変更されますが、気にせずその場所に、「チェックボックス挿入」というファイル名で保存します。 13) メニューバーの「ツール(T)-アドイン(I)」を選択し、アドインダイアログを表示させます。 14) 「有効なアドイン(A)」の欄に「チェックボックス挿入」という項目があるはずですので、チェックをつけて「OK」ボタンを押してください。 念のため、ここまでの作業が終了したら、一度Excelを終了させてください。 目的のブックを開いて、チェックボックスを挿入したい場所にて、試してみてください。
その他の回答 (2)
- aokii
- ベストアンサー率23% (5210/22062)
普通にドラッグコピーでできるのでは?
お礼
それが面倒だったのです
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルVBAで、プログラムで、チェックボックスを作成できます。 又位置も、望みのセルの位置との関連で配置できます。 もちろん望みの個数だけ繰り返しも出来ます。 左のセルが数字が入っているかどうかも判断できます。 ただし質問者は、数字を入れる予定のセルのことを言っているのでは。そのためには、行を別途指定する必要がある。 数字の隣列にチェックボックスをおくという珍奇な質問なので、そうする事情ぐらい説明すべきでしょう。 初心者的な、思いつきでは無いですか。 それ(VBA)以外は、「便利に、自動で」と考えても無駄でしょう。 VBA以外の方法は、エクセル操作と関数ですが、質問者の特殊なニーズにあったものはありません。 特に知っておくべきは、チェックボックスの作成や配置は関数とは、原理的に別世界のことです。関数はセルの値(だけ)を扱うものです。 VBAを勉強してください。
お礼
回答ありがとうございます。 関数の勉強ばかりやっていたので、対応できませんでした。
お礼
ありがとうございます! アドインの作成は始めてやりましたが、うまく適用できました。 便利なアドインが出来てすばらしいです。 導入も丁寧に教えていただいて、本当にありがとうございました。 このアドインの中身をじっくり分析して、VBAも理解していきたいです。