如何在 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()
获取结束行号。
样本:
参考:
很多人都想这样做,因为他们不想向下滚动所有数据,所以典型的方法是这样的:
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();
}
}
我想知道如何获得 sheet 的最后一行(不是最后一行数据)。有没有简单的代码可以做到这一点?
解决方案:
您可以使用 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();
}
}