【Google Apps Script(GAS)】スプレッドシートのセルをコピーして貼り付ける(copyTo)

オンラインGAS講座 開講中!
オンライン無料体験あり!
最短4週間でGASをマスターできる
Google Apps Scriptコース』開講中!

今回は、Google Apps Scriptでスプレッドシートのセルをコピーして、別のセルへ貼り付ける方法についてご紹介します。

スプレッドシートのセルをコピーして貼り付ける(copyTo)

セル単体をコピーして貼り付ける

Google Apps Scriptでスプレッドシートのセル単体をコピーして貼り付けるには、下記のようなスクリプトを使用します。

getRange(コピー元セル番地).copyTo(コピー先セル番地)

下記のサンプル1は、アクティブシートのセルA1を、同じシートのセルA2にコピーしたサンプルになります。

・サンプル1

function myFunction() {

var ss = SpreadsheetApp.getActiveSpreadsheet(); //アクティブなスプレッドシートを取得
var sh = ss.getActiveSheet(); //アクティブなスプレッドシートのアクティブシートを取得

sh.getRange(1, 1).copyTo(sh.getRange(2, 1));

}

セル範囲をコピーして貼り付ける

スプレッドシートのセル範囲ををコピーして貼り付けるには、下記のようなスクリプトを使用します。

getRange(コピー元セル範囲).copyTo(コピー先セル番地)

下記のサンプル2は、アクティブシートのセルA1~A2の範囲を、セルA3に貼り付けたサンプルになります。

・サンプル2

function myFunction() {

var ss = SpreadsheetApp.getActiveSpreadsheet(); //アクティブなスプレッドシートを取得
var sh = ss.getActiveSheet(); //アクティブなスプレッドシートのアクティブシートを取得

sh.getRange(1, 1, 2, 1).copyTo(sh.getRange(3,1));

}

フィルタで非表示にしたセルをコピーするとエラーになる

copyToを使用する際の注意点として、フィルタで非表示にした項目をコピー元に指定すると、

「この操作は除外した行を含む範囲ではサポートされていません。」

というアラートがスクリプトエディタ上部に表示され、エラーが発生して処理を実行できませんので注意が必要です。

※スプレッドシートに関する記事はこちらをご覧ください

https://vba-gas.info/category/google-apps-script/gas-sheet

※セル操作に関する記事はこちらをご覧ください

https://vba-gas.info/category/google-apps-script/gas-range

シェアする

  • このエントリーをはてなブックマークに追加

フォローする