GASで特定のセルをコピーペーストする方法

Tips

今回はGASを使ってスプレッドシートの特定のセルのデータをコピーペーストする方法をご紹介します。

コピーペーストの操作はスプレッドシートの中でもかなり多用する操作なので、ぜひ覚えて活用してください。

コピーペーストの方法は2種類ある

GASを使ってコピーペーストする方法は大きく分けて2種類あります。

  • copyToメソッドを使う方法
  • getValue / setValueメソッドを使う方法

copyToメソッドのメリット・デメリット

【メリット】

  • スクリプトの記載方法が実際のスプレッドシートの操作に近いので理解しやすい
  • シートの内容を丸々コピーペーストしたり、書式も一緒にコピーペーストするか選択できる

【デメリット】

  • 応用の幅はgetValue/setValueメソッドに比べて狭い

getValue/setValueメソッドのメリット・デメリット

【メリット】

  • コピーペースト以外にも色々応用することができる
  • 複雑な処理で使いやすい

【デメリット】

  • 書式のコピーペーストはできない

copyToメソッドを使ったコピーペーストのコード

copyToメソッドは下記のように使用します。

コピーしたいセル.copyTo(ペーストしたいセル)

実際のコードでは下記のようになります。

function copy_paste(){
 //スクリプトファイルに紐づけられたスプレッドシートのファイルを読み込む
 var spreadsheet = SpreadsheetApp.getActive();
 
 //コピーペーストを実施したいタブを読み込む
 var sheet = spreadsheet.getSheetByName(‘シート名’);
 
 //コピーしたいセルを選択する
 var copyRange = sheet.getRange(‘セル名’);
 
 //ペーストしたいセルを選択する 
 var pasteRange = sheet.getRange(‘セル名’);
 
 //copyToメソッドでコピーペーストする
 copyRange.copyTo(pasteRange);
}

今回は紹介しませんが、copyToメソッドは様々なオプションが用意してあり、ちょっと書き足すことでセルの背景色や罫線、セルの結合なども一緒にコピーペーストすることもできます。

また、セルの書式のみをコピーペーストすることもできます。

getValue/setValueを使ったコピーペースト

getValueメソッド、setValueメソッドはそれぞれ下記のように使用します。

コピーしたいセル.getValue()

ペーストしたいセル.setValue()

実際のコードでは下記のようになります。

function copy_paste(){
 //スクリプトファイルに紐づけられたスプレッドシートのファイルを読み込む
 var spreadsheet = SpreadsheetApp.getActive();
 
 //コピーペーストを実施したいタブを読み込む
 var sheet = spreadsheet.getSheetByName(‘シート名’);
 
 //コピーしたいセルのデータを取得する
 var copyData = sheet.getRange(‘セル名’).getValue();
 
 //ペーストしたいセルにデータを貼り付ける
 sheet.getRange(‘セル名’).setValue(copyData);
}

copyToメソッドとの違いはコピーしたいセルの値を一度変数に保管していることです。

例えば、コピーした値に数値を足したり、文字を結合するなどの加工をほどこして別セルにペーストしたい場合はgetValue/setValueの方が柔軟に対応することができます。

まとめ・終わりに

今回はGASを使ってスプレッドシートの特定のセルのデータをコピーペーストするのに下記2点の方法をお伝えしました。

  • copyToメソッドを使う方法
  • getValue/setValueメソッドを使う方法

それぞれのメソッドにメリット・デメリットがあるので、どんな処理をしたいのかによってメソッドを使い分けてください。

今回の記事を参考にして、ぜひコピーペースト作業を自動化して業務を効率化してください。

コメント

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