• ベストアンサー

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

チェックボックスが組み込まれているセルを含む行をコピーしましたが、一行目にチェックを入れると、コピー先のチェックボックスにまで一括して、レ点が入ります。 解消方法はありますか?

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

>チェックボックスが組み込まれているセルを含む行をコピーしました 基本的には、最初の(コピー元の)チェックボックスの「リンクするセル」の設定を消してから、行をコピーすることでご相談の状況自体は解消できます。 #以下ご相談の範疇外 ただしこの方法では、チェックボックスは「チェックできるだけの絵柄」になり下がり、チェックの結果を何か計算に使用するといった事は当然ながらできなくなります。 どーしても「リンクするセル」の設定が必要な場合、チェックボックスは元のと同じセルにリンクされた状態のままで、文字通りコピーされています。 解消するためには(貼り付け先の)個々のチェックボックスにそれぞれ違うリンク先セルをセットしてやる必要がありますが、エクセルの基本機能ではそういう事が出来る仕組みはありません。 というワケで解決手順: シートに「フォーム」のチェックボックスを配置する(*) チェックボックスのリンクするセルは「設定しない」 ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける sub macro1() with activesheet.shapes(application.caller).topleftcell.offset(0, -1) '一つ左のセル .value = not .value end with end sub ファイルメニューから終了してエクセルに戻る 最初のチェックボックスを右クリックしてマクロの登録を開始、macro1を登録する 行ごとチェックボックスをコピーする 左隣のセルにチェックに応じた数字が表れるので、適宜使用する。 *エクセルでは「フォーム」と「ActiveXコントロール(コントロールツールボックス)」の2種類のチェックボックスが利用できます。それぞれ使い方が違うので、ご自分が、また寄せられた回答が、いったいどっちの話をしているのか、間違えないようによく注意してください。 またご相談投稿においても、ご自分がいったいどっちを使ってるのか(使いたいのか)正しく情報提供するように気を付けて下さい。

machipeco2005
質問者

お礼

ありがとうございます。詳しくて勉強になります。