谷歌脚本:复制粘贴值仅在偏移范围内

时间:2018-06-22 07:15:22

标签: google-apps-script google-sheets

我想实现一个脚本,该脚本检查工作表“ Review&Trigger”的“ D”列中的值。如果值为yes,则仅复制E和P列之间同一行中单元格的内容。然后,将内容粘贴到相同范围。

例如:如果D5中的值(重要,这适用于D列的任何行)为“是”,则脚本应复制范围E5:P5并将这些值仅粘贴到相同的范围E5:P5

我对Google脚本很陌生,具有基本知识。

我已经实现了这段代码,但是它不起作用:

function onEdit() {
 var s = SpreadsheetApp.getActiveSheet();
 if( s.getName() == "Review&Trigger" ) {
  var r = s.getActiveCell();
  var y = s.getActiveRange();
  if( r.getColumn() == 4 && y.getValue() == "Yes") {
  var nextCell = r.offset(0, 12);
  var range = s.getRange(r,nextCell);
  range.copyTo (range, {contentsOnly: true});
source.clear();
  }
 }
}

关于如何修复代码的任何想法?提前非常感谢!

1 个答案:

答案 0 :(得分:0)

您可以选择使用getRange():

  1. getRange(行,列)。行和列是数字。
  2. getRange(行,列,numRows)。数字。
  3. getRange(行,列,numRows,numColumns)。数字。
  4. getRange(a1Notation)。像“ A1:C15”这样的字符串

定义范围后,使用offset获取同一图纸上的其他范围。

在使用onEdit脚本之前,请使用常规功能对其进行测试。使用Logger.Log('hello world');Browser.msgBox('hello world');获取有关执行的信息。

查看更多:

https://developers.google.com/apps-script/reference/spreadsheet/sheet https://developers.google.com/apps-script/reference/spreadsheet/range