[GAS][スプレッドシート]セルの値のみコピーするには: 逆引きGoogle Apps Script

2012 年 3 月 23 日 金曜日

▼サンプルスクリプト

A列をB列にコピーするサンプルスクリプト。値のみコピーされ、書式、関数、コメントはコピーされない。

function onOpen(){
  var sheet = SpreadsheetApp.getActiveSheet();
  var rangeToCopy = sheet.getRange('A:A');
  rangeToCopy.copyValuesToRange(sheet, 2, 1+rangeToCopy.getWidth(), 1, 1+rangeToCopy.getHeight());
}

copyToのパラメータ:contentsOnlyにtrueを指定することで、値のみコピーすることもできる。

function onOpen(){
  var sheet = SpreadsheetApp.getActiveSheet();
  var rangeToCopy = sheet.getRange('A:A');
  var targetToCopy = sheet.getRange('B1');
  rangeToCopy.copyTo(targetToCopy, {contentsOnly:true});
}

構文

copyValuesToRange(sheet, startColumn, endColumn, startRow, endRow)

セルの値のみコピーする。コメント、書式、関数はコピーしない。

パラメータ

sheet
コピー先シートオブジェクト
startColumn
コピー先の列(開始位置)
endColumn

コピー先の列(終了位置)
startRow
コピー先の行(開始位置)
endRow
コピー先の行(終了位置)

補足

copyToのオプションで値のみコピーすることもできる。詳しくはセルをコピーするには参照。

注意点

コピー元セルの数と、コピー先として指定したセルの数が異なる場合、以下の挙動になるので注意が必要。

コピー元の方が多い場合
コピー先を埋めるように繰り返される
コピー元の方が少ない場合
一部省略される

関連記事

コメントをどうぞ

トラックバック

このエントリーのトラックバックURL:

http://www.bmoo.net/archives/2012/03/313112.html/trackback