スプレッドシートのシートをGASで一括複製する
基本的な構成は同じだけど、数箇所変更したスプレッドシートを作るときどうしてますか?
シートのコピーを作成してシート名変える…1シートだけならいいですが、大量のシートがあるときめちゃめんどくさくないですか?
そこでこの記事ではGASをつかってスプレッドシート上で大量のシートをコピペ&リネームする方法をご紹介します。
この記事は以下の方向けの内容です。
・地区ごとのデータを集計するためのシートをつくりたいんだけど、コピペだるい
・データのセル位置を統一したうえでコピペしたい
・とにかく誰でもできる作業を秒で終わらせたい
テンプレ用のスプレッドシートを準備する
A2,3に記述する内容
ss.duplicateActiveSheet().setName('
');
・A3のシングルクオーテーションはひとつだと表示されないのでスプレッドシート上では'');と記述しています。
・A6〜9は可変で、かつもちろん増やして頂いて構いません!
・B6以下は =A$2&A6&A$3 と記述しています。
テンプレ用のシートを用意する
スクリプト
function sheetcopy(){
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("テンプレ"); //テンプレシートを参照する
//コピーしたシートをリネーム
ss.duplicateActiveSheet().setName('日本');
ss.duplicateActiveSheet().setName('やや日本');
ss.duplicateActiveSheet().setName('おおむね日本');
ss.duplicateActiveSheet().setName('だいたい日本'); // 増やしたいシートで増減する
}
結果
おわりに
シートのコピペって結構手間かかるのでめんどくさかったのですが、このスクリプトを使って秒でコピペするようになってから幸せです