初心者でもできる!GASでスプレッドシートのコピー&ペーストを自動化する方法

パソコンパソコン・スマホ教室
スポンサーリンク

スプレッドシートを使っていると、同じデータを何度もコピー&ペーストする作業が面倒ですよね。そんなときに便利なのが、Google Apps Script(GAS)を使った自動化です。今回は、初心者の方でもわかりやすいように、GASを使ってスプレッドシートのコピー&ペーストを自動化する方法をご紹介します。

スポンサーリンク

GASでスプレッドシートのコピー&ペーストを自動化する方法

Googleスプレッドシートのイメージ

Googleスプレッドシートのイメージ

GASとは?

Google Apps Script(GAS)は、Googleのサービスを自動化するためのプログラミング言語です。スプレッドシートやドキュメント、Gmailなどを操作することができます。例えば、毎月の売上データを別のシートに自動で転記したり、特定の条件に合ったデータを抽出して別のシートにまとめたりすることができます。

スプレッドシートのコピー&ペーストを自動化するコード

以下のコードを使うと、スプレッドシートの特定のセルの値を別のセルにコピーすることができます。

function copyData() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var value = sheet.getRange('').getValue();
sheet.getRange('B1').setValue(value);
}

このコードでは、セルの値を取得して、B1セルにその値を設定しています。これを応用すれば、複数のセルをまとめてコピー&ペーストすることも可能です。

値だけをコピーする方法

もし、セルの値だけをコピーしたい場合は、以下のようにコードを書きます。

function copyValues() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var values = sheet.getRange('B2').getValues();
sheet.getRange('C1:D2').setValues(values);
}

このコードでは、\:B2の範囲の値を取得して、C1\:D2の範囲にその値を設定しています。書式や数式はコピーされません。

書式も含めてコピーする方法

書式も含めてコピーしたい場合は、以下のようにコードを書きます。

function copyWithFormat() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange('B2');
range.copyTo(sheet.getRange('C1:D2'), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
}

このコードでは、\:B2の範囲をC1\:D2の範囲にコピーしています。`SpreadsheetApp.CopyPasteType.PASTE_NORMAL`を指定することで、値、書式、数式などをすべてコピーすることができます。

別のシートにコピーする方法

もし、別のシートにコピーしたい場合は、以下のようにコードを書きます。

function copyToAnotherSheet() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet2');
var range = sheet.getRange('B2');
range.copyTo(targetSheet.getRange(''));
}

このコードでは、現在のシートから`Sheet2`という名前のシートに\:B2の範囲をコピーしています。

よくある質問や疑問

Q1: GASの実行時に「承認が必要です」と表示されるのはなぜですか?

初めてGASを実行する際には、スクリプトがGoogleのサービスにアクセスするための許可が必要です。画面の指示に従って、必要な権限を付与してください。

Q2: コピー先のセルに既にデータがある場合、上書きされてしまいますか?

はい、`setValue()`や`setValues()`を使うと、指定したセルの内容は上書きされます。上書きしたくない場合は、コピー前にそのセルが空であるか確認する処理を追加すると良いでしょう。

Q3: 複数のシートに同じデータをコピーするにはどうすれば良いですか?

複数のシートに同じデータをコピーするには、コピー先のシートを複数指定して、同じ処理を繰り返すようにコードを組むと良いでしょう。

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

今回は、Google Apps Script(GAS)を使って、スプレッドシートのコピー&ペーストを自動化する方法をご紹介しました。これらの方法を活用すれば、手作業で行っていたコピー&ペーストの作業を効率化することができます。ぜひ、実際に試してみてください。

他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。

コメント

タイトルとURLをコピーしました