检查最后5行 - Google表格中有多少空行

时间:2017-08-03 11:03:59

标签: google-apps-script google-sheets

我需要检查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”功能运行此代码。

1 个答案:

答案 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});
  }

}