我需要检查Google电子表格中的最后5行是否为空。
我有这段代码:
function addRow() {
var ss = SpreadsheetApp.getActive();
var sh = ss.getActiveSheet(), lRow = sh.getLastRow();
var lCol = sh.getLastColumn(), range = sh.getRange(lRow,1,1,lCol);
sh.insertRowsAfter(lRow, 10);
range.copyTo(sh.getRange(lRow+1, 1, 10, lCol), {contentsOnly:false});
}
当最后5行不为空时,使用“on edit”功能运行此代码。
答案 0 :(得分:1)
sh.getMaxRows()
方法可用于获取工作表中的总行数,无论它们是否包含内容。然后从最大行中减去最后一行,以获得最后的行数为空。要在编辑工作表时运行此选项,您必须安装"一个触发器。在编辑菜单中,单击"当前项目的触发器"并添加一个新的触发器。
function addRow() {
var howManyEmptyRows,sh,ss,lCol,lRow,range,totalRowsInSheet;
ss = SpreadsheetApp.getActive();
sh = ss.getActiveSheet();
lRow = sh.getLastRow();
totalRowsInSheet = sh.getMaxRows();
Logger.log('totalRowsInSheet: ' + totalRowsInSheet)
howManyEmptyRows = totalRowsInSheet - lRow;
Logger.log('howManyEmptyRows: ' + howManyEmptyRows)
lCol = sh.getLastColumn();
range = sh.getRange(lRow,1,1,lCol);
if (howManyEmptyRows < 6) {//There are 5 or less empty rows at the end of the sheet
sh.insertRowsAfter(lRow, 10);
range.copyTo(sh.getRange(lRow+1, 1, 10, lCol), {contentsOnly:false});
}
}