如何在 Google Sheets 脚本中获取 sheet 的末行(不是最后一行数据)?

How can I get the end row of my sheet (not the last row with data) in Google Sheets Scripts?

我想知道如何获得 sheet 的最后一行(不是最后一行数据)。有没有简单的代码可以做到这一点?

解决方案:

您可以使用 getMaxRows() 获取结束行号。

样本:

参考:

getMaxRows()

很多人都想这样做,因为他们不想向下滚动所有数据,所以典型的方法是这样的:

function getFirstRowAfterAllData0() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getActiveSheet();
  sh.getRange(sh.getLastRow()+1, 1).activate();
}

但是如果 sh.getLastRow() 等于 sh.getMaxRows() 那么这将不起作用,因为脚本无法转到不存在的行,因此您会发现这种方法也适用于这种情况。当您的数据后没有任何可用行时,它会在底部添加另一行。

function getFirstRowAfterAllData() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getActiveSheet();
  if (sh.getLastRow() < sh.getMaxRows()) {
    sh.getRange(sh.getLastRow()+1, 1).activate();
  } else {
    sh.insertRowAfter(sh.getLastRow());
    sh.getRange(sh.getLastRow()+1, 1).activate();
  }
}