質問: excelでチェックボックスを使った列のコピー方法 案件進捗表を作成しています。 進捗に応じて右へ右へとチェックボックスにチェックを入れていく形にしていて、 チェックボックスのとなりのセルに真偽の値を入れるように反映させています。 案件が増えるごとに、1,2,3行と・・とデータを増やしていきたいのですが、 1行目に作成した形式を下にコピーするとチェックボックスが全データ同じ動きをしてしまいます。 となりのセルに「true」などを返すように反映させているチェックボックスはコピーできませんか? 教えてください。よろしくお願いします。
回答: エクセルでは、「フォーム」のチェックボックスと「activexコントロール(コントロールツールボックス)」のチェックボックスの、2種類のチェックボックスが利用できます。 ご相談ではいったいどっちを使って作成したのか、しっかり情報提供してください。 #余談ですがご利用のエクセルのバージョンについても、必ず明記する事を憶えて下さい。 ただまぁ、どちらを使っても「下にコピーしただけで隣に結果が返る」ようにする方法は、残念ですがありません。 というワケで出来る方法: 1.今まで作成したチェックボックスはすべて消去する 2.「フォーム」のチェックボックスをシートに配置する その際、必ず「セルの中に納まる」ようにセルの大きさも含めて調整する 3.コントロールの書式設定は「設定しない」でおく 4.右クリックして「マクロの登録」を開始する 5.新規作成を選択、現れた画面で sub チェック1_click() with activesheet.shapes(application.caller).topleftcell.offset(0, 1) .value = not .value end with end sub のように記入作成する 6.ファイルメニューから終了してエクセルに戻る 7.マクロを登録したチェックボックス「が載っているセル」をコピーし、必要なセルに貼り付ける 8.チェックを入れたり外すと、右隣のセルに-1と0が交互に現れる #おまけ -1と0のセルにセルの書式設定の表示形式のユーザー定義で 0;"true";"false" と設定しておくと、trueとfalseの表示になります。「見た目」が重要な時は適宜利用してください。