Google apps script 转到Google工作表中的最后一行数据

Google apps script 转到Google工作表中的最后一行数据,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我已经翻遍了,发现下面的代码将前进到我们谷歌电子表格中数据的最后一行——至少直到我们在第297行之外添加更多行 function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var range = ss.getSheets()[0].getRange("B297"); SpreadsheetApp.setActiveRange(range); } 我正在试图弄清楚如何编写这个脚本,以便它将转到最

我已经翻遍了,发现下面的代码将前进到我们谷歌电子表格中数据的最后一行——至少直到我们在第297行之外添加更多行

function myFunction() {
   var ss = SpreadsheetApp.getActiveSpreadsheet();
   var range = ss.getSheets()[0].getRange("B297");
   SpreadsheetApp.setActiveRange(range);
}
我正在试图弄清楚如何编写这个脚本,以便它将转到最后一行数据,而不考虑行号


我是否可以对此代码进行更改以完成此任务

方法
getLastRow()
告诉您工作表中包含数据的最后一行。这可用于将所选内容移动到该行。我在工作表选择中更改了另一件事:您的脚本始终在第一张工作表上运行;对当前处于活动状态的工作表进行操作更有意义

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getRange(sheet.getLastRow(), 1);
  SpreadsheetApp.setActiveRange(range);
}
可以使用onOpen将其放入电子表格菜单中


顺便说一句,如果在每行都有一些数据的列(如日期或Id列)中按Ctrl+ArrowDown也可以执行相同的操作。

下面的脚本允许您转到包含a列内容的最后一个单元格。即使a列中的某些单元格包含公式,也可以执行此操作

修改
lastRowOfCol(1)
中括号中的数字,可以使用另一列的内容访问最后一个单元格

此外,还可以将焦点更改为最后一个包含内容的空单元格之后的第一个空单元格

function onOpen(){
  lastRowOfCol(1); //Enter the column number you want to use as the base of the search
}

function lastRowOfCol(column){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var total = sheet.getMaxRows();
  var values = SpreadsheetApp.getActiveSheet().getRange(1,column,total).getValues();
  for(var i=total-1;values[i]=="" && i>0; i--){}
  var last = sheet.getRange(i+1,column);
  //var last = sheet.getRange(i+1,1); //Option to fetch the last row of a given column, but to position in column 1
  //var last = sheet.getRange(i+2,column); //Option to go to the cell below the last one with content 
  sheet.setActiveSelection(last);
}
来自Marcelo Camargo的脚本