• ベストアンサー

エクセルのチェックボックスについて

エクセルのバージョンは2002です。 左側に数値の入力されているセルにチェックボックスを入れたいのですが、 いちいちチェックボックスを呼び出してコピー → Ctlr+V連打 → チェックボックスを選択して整列 という手順が大変煩雑です。 うまい具合に、選択したセルに綺麗にボックスを並べる方法はないでしょうか? (入力規則からレ点を選択するという手段もありますが、二回クリックが必要なのと、チェックボックスを 使ってみたいという理由で保留してます。)

質問者が選んだベストアンサー

  • ベストアンサー
  • matsu_jun
  • ベストアンサー率55% (146/265)
回答No.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を終了させてください。 目的のブックを開いて、チェックボックスを挿入したい場所にて、試してみてください。

nasu000_002
質問者

お礼

ありがとうございます! アドインの作成は始めてやりましたが、うまく適用できました。 便利なアドインが出来てすばらしいです。 導入も丁寧に教えていただいて、本当にありがとうございました。 このアドインの中身をじっくり分析して、VBAも理解していきたいです。

その他の回答 (2)

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

普通にドラッグコピーでできるのでは?

nasu000_002
質問者

お礼

それが面倒だったのです

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

エクセルVBAで、プログラムで、チェックボックスを作成できます。 又位置も、望みのセルの位置との関連で配置できます。 もちろん望みの個数だけ繰り返しも出来ます。 左のセルが数字が入っているかどうかも判断できます。 ただし質問者は、数字を入れる予定のセルのことを言っているのでは。そのためには、行を別途指定する必要がある。 数字の隣列にチェックボックスをおくという珍奇な質問なので、そうする事情ぐらい説明すべきでしょう。 初心者的な、思いつきでは無いですか。 それ(VBA)以外は、「便利に、自動で」と考えても無駄でしょう。 VBA以外の方法は、エクセル操作と関数ですが、質問者の特殊なニーズにあったものはありません。 特に知っておくべきは、チェックボックスの作成や配置は関数とは、原理的に別世界のことです。関数はセルの値(だけ)を扱うものです。 VBAを勉強してください。

nasu000_002
質問者

お礼

回答ありがとうございます。 関数の勉強ばかりやっていたので、対応できませんでした。

関連するQ&A