LANG SELRCT

コードを書く場所についてはこちら

2018年1月12日金曜日

スプレッドシートでセルの値のみ貼り付ける


画面上ではこの操作で実現できることをコードで書いてみました


編集→特殊貼付け→値のみ貼り付け

たとえば
A1に「=B1+C1」などの数式が入っている場合

コード.gsを実行すると
A1の数式は消えてB1+C1の結果の値のみが貼り付けられます


A列の数式を残しておきたい場合は

var target = sheet.getRange('A:A');を
var target = sheet.getRange('D:D');

などとして別の列に値だけ貼り付けることもできます



コード.gs
function copy_contentsOnly(){
  var sheet = SpreadsheetApp.getActiveSheet()
  var range = sheet.getRange('A:A');
  var target = sheet.getRange('A:A');
  range.copyTo(target, {contentsOnly:true});
}
意訳
この機能がやること
シートを取得する
コピー元を指定する
コピー先を指定する
コピー元からコピー先に値だけ貼り付ける



参考

Class Range / copyTo(destination, options)
https://developers.google.com/apps-script/reference/spreadsheet/range