如果 D 列中的行为空,则删除空行

Deleting empty rows on if the row in Column D is empy

您好,我正在尝试处理删除整行的脚本,如果 Columnd D 在该行中没有信息(特别是在底部)。这是我正在尝试处理但出现此错误的脚本。

function removeEmptyRows(){
  var sh = SpreadsheetApp.getActiveSheet();

  var maxRange = sh.getRange('D3:D27');
  var maxRows = sh.getMaxRows();
  var lastRow = maxRange.getLastRow();

  sh.deleteRows(lastRow+1, maxRows-lastRow);
}

错误:异常:这些行超出范围。 removeEmptyRows @ Code.gs:47

我确实在互联网上找到了一个可行的解决方案,但它使用的是 for 循环,如果行数超过 100 行,则需要花费大量时间来删除行。这是一个示例屏幕,如果它是如何工作的 PS。对不起英语不好

enter image description here

这样试试

function removeEmptyRows() {
  var sh = SpreadsheetApp.getActiveSheet();
  var maxRange = sh.getRange('D3:D27');
  var maxRows = sh.getMaxRows();
  var lastRow = maxRange.getLastRow();
  if (maxRows > lastRow) {
    sh.deleteRows(lastRow + 1, maxRows - lastRow);
  }
}