需要获取Google电子表格中已更改行的rownumber。
电子表格有很多行,并根据特定列计算SUM。当我删除列中的值时,必须计算新的SUM。当我更改1行时,这很有用,但我经常选择列多行以删除内容。我的期望是onEdit事件将不止一次被触发。
之后我希望getRange函数给我rownumbers,但事实并非如此。
function onEdit()
{
var as = SpreadsheetApp.getActiveSheet();
var edditRow = SpreadsheetApp.getActiveRange().getRow();
var edditColumn = SpreadsheetApp.getActiveRange().getColumn();
LKfunctions.RecalcalculateTimes(edditRow, edditColumn);
}
希望有一些好的建议如何解决这个问题。
答案 0 :(得分:0)
.getRow()只返回范围的第一个行号。
.getNumRows()返回范围内的行数。
我建议你将它们一起添加并使用循环来重新计算。像这样:
function onEdit()
{
var as = SpreadsheetApp.getActiveSheet();
var r = as.getActiveRange();
var numRows = r.getNumRows();
var edditRow = r.getRow();
var edditColumn = r.getColumn();
for (var i=edditRow; i<edditRow+numRows; ++i) {
LKfunctions.RecalcalculateTimes(i, edditColumn);
Logger.log('Editted row ' + i);
}
}