Google Sheet 脚本:使用 getActiveSheet() 重置活动单元格

Google Sheet Script: resetting active cell with getActiveSheet()

我正在尝试从 sheet (Test1) 复制一系列值并将它们粘贴到下一个 sheet (Test2) 的活动单元格中。

我遇到的问题是活动单元格不断重置为 A1,而不是我在该页面上单击的最后一个单元格。

当我 运行 来自第二页 (Test2) 的脚本时,一切正常,但我希望能够 运行 来自 sheet Test1 的脚本,因为那是那里正在复制数据,我的目标是有一个按钮 运行 脚本。

With setActiveSheet(Sheet sheet, Bool restoreSelection) - restoreSelection 设置为 true 应该确保再次选择最近的选择,但它没有似乎在工作。

function myFunction() {
  var ss = SpreadsheetApp.getActive();
  var s1 = ss.getSheetByName('Test1');
  var s2 = ss.getSheetByName('Test2');
  var r1 = s1.getRange('A7:A19');
  ss.setActiveSheet(s2, true);
  var activeCell = s2.getActiveCell();
r1.copyTo(activeCell,SpreadsheetApp.CopyPasteType.PASTE_VALUES,true);
}

您的目标是向 Test2 添加一些内容吗?在这种情况下,您可以通过使用 Test2 的 getLastRow() 找到 lastRow 然后附加它来轻松解决这个问题。