「スプレッドシートをコピーしたいけど、プログラミングなんて難しそう…」そんな風に感じていませんか?でも安心してください。Google Apps Script(GAS)を使えば、わずかなコードでスプレッドシートを簡単にコピーできるんです。今回は、初心者の方でもわかりやすいように、親しみやすい言葉で解説します。
GASって何?
まず、GASとは「Google Apps Script」の略で、Googleが提供するスクリプト言語です。これを使うと、Googleの各種サービス(GmailやGoogleスプレッドシートなど)を自動化したり、連携させたりすることができます。
例えば、毎月の報告書をテンプレートから自動で作成したり、複数のシートをまとめてコピーしたりすることができるんです。
このサイトをチップで応援
スプレッドシートをコピーする方法
では、実際にスプレッドシートをコピーする方法を見ていきましょう。
同じスプレッドシート内でシートをコピーする
同じファイル内でシートをコピーするには、以下のようなコードを使います。
function copySheet() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName('テンプレート');
const newSheet = sheet.copyTo(ss);
newSheet.setName('コピー_' + new Date().toLocaleDateString());
}
このコードを実行すると、「テンプレート」という名前のシートがコピーされ、「コピー_日付」の名前で新しいシートが作成されます。
別のスプレッドシートにシートをコピーする
別のファイルにシートをコピーする場合は、以下のようにします。
function copySheetToAnother() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName('テンプレート');
const targetSpreadsheet = SpreadsheetApp.openById('コピー先のスプレッドシートID');
sheet.copyTo(targetSpreadsheet);
}
このコードでは、「テンプレート」シートを指定した別のスプレッドシートにコピーします。
ファイル全体をコピーする
スプレッドシート全体をコピーしたい場合は、以下のコードを使います。
function copyFile() {
const file = DriveApp.getFileById('元のスプレッドシートID');
file.makeCopy('コピー_' + new Date().toLocaleDateString());
}
これで、元のファイルがそのままコピーされ、新しいファイルが作成されます。
よくある質問
Q1: コピーしたシートの名前を変更したい
上記のコードで、`newSheet.setName(‘新しい名前’)`とすることで、コピーしたシートの名前を変更できます。
Q2: コピーしたシートにデータを追加したい
コピーしたシートにデータを追加するには、`newSheet.getRange(”).setValue(‘新しいデータ’)`のように、`setValue`メソッドを使ってセルに値を設定できます。
Q3: コピーしたシートを特定の位置に移動したい
コピーしたシートを移動するには、`ss.setActiveSheet(newSheet)`で新しいシートをアクティブにし、その後に`ss.moveActiveSheet(シート番号)`でシートの順番を変更できます。
まとめ
Google Apps Script(GAS)を使うことで、スプレッドシートのコピー作業を簡単に自動化できます。手動で行っていた作業をスクリプトで自動化すれば、時間の節約にもつながります。
もし、この記事を読んで「やってみようかな」と思った方は、ぜひコードを試してみてください。わからないことがあれば、お気軽にLINEでお声掛けくださいね。



コメント