今回は、Google Apps Scriptでスプレッドシートのセルをコピーして、別のセルへ貼り付ける方法についてご紹介します。
スプレッドシートのセルをコピーして貼り付ける(copyTo)
セル単体をコピーして貼り付ける
Google Apps Scriptでスプレッドシートのセル単体をコピーして貼り付けるには、下記のようなスクリプトを使用します。
getRange(コピー元セル番地).copyTo(コピー先セル番地)
下記のサンプル1は、アクティブシートのセルA1を、同じシートのセルA2にコピーしたサンプルになります。
・サンプル1
function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); //アクティブなスプレッドシートを取得 sh.getRange(1, 1).copyTo(sh.getRange(2, 1)); } |
セル範囲をコピーして貼り付ける
スプレッドシートのセル範囲ををコピーして貼り付けるには、下記のようなスクリプトを使用します。
getRange(コピー元セル範囲).copyTo(コピー先セル番地)
下記のサンプル2は、アクティブシートのセルA1~A2の範囲を、セルA3に貼り付けたサンプルになります。
・サンプル2
function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); //アクティブなスプレッドシートを取得 sh.getRange(1, 1, 2, 1).copyTo(sh.getRange(3,1)); } |
フィルタで非表示にしたセルをコピーするとエラーになる
copyToを使用する際の注意点として、フィルタで非表示にした項目をコピー元に指定すると、
「この操作は除外した行を含む範囲ではサポートされていません。」
というアラートがスクリプトエディタ上部に表示され、エラーが発生して処理を実行できませんので注意が必要です。
※スプレッドシートに関する記事はこちらをご覧ください
※セル操作に関する記事はこちらをご覧ください