Google Apps脚本:返回新添加的行的行号,并将其作为变量传递给另一个函数

时间:2017-01-11 15:46:02

标签: google-apps-script google-sheets

我试图创建一个自动将一系列单元格向下移动1行的脚本。移动的范围需要取决于工作表中添加新行的位置。我已经得到了移动范围部分:

function moveRange() {

}
var sheet = SpreadsheetApp.getActiveSheet()
 sheet.getRange("A1:E").moveTo(sheet.getRange("A2"));

我只需要将sheet.getrange()作为一个设置列,但是变量行号和moveTo(sheet.getRange()是同一列,而右下方的行而不是静态值。任何想法?

1 个答案:

答案 0 :(得分:0)

当您的脚本通过算法确定行/列编号时,最好使用其他形式的getRange,即getRange(row, col, numRow, numCol)。它指定范围左上角的row-col坐标以及范围的大小。

例如,要将行x中的单元格A-E向下移动一行,请使用

function moveRange() {
  var x = 5;  // or something you compute, or get from the user 
  var sheet = SpreadsheetApp.getActiveSheet()
  sheet.getRange(x, 1, 1, 5).moveTo(sheet.getRange(x+1, 1, 1, 5));
}

这里,(x,1,1,5)描述了行x,第1列(A)中左上角的范围,它跨越1行和5列(A-E)。