我试图创建一个自动将一系列单元格向下移动1行的脚本。移动的范围需要取决于工作表中添加新行的位置。我已经得到了移动范围部分:
function moveRange() {
}
var sheet = SpreadsheetApp.getActiveSheet()
sheet.getRange("A1:E").moveTo(sheet.getRange("A2"));
我只需要将sheet.getrange()作为一个设置列,但是变量行号和moveTo(sheet.getRange()是同一列,而右下方的行而不是静态值。任何想法?
答案 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)。