Google App 脚本将“重复”工作表(工作表 1/选项卡 1)移至选项卡末尾并保留模板

问题描述 投票:0回答:1

我们需要一个模板表,我们可以在需要时复制和修改它并添加到报告中,并且需要它在每次创建表/选项卡的新副本时显示在末尾

这是我尝试过的脚本:

`  function onEdit() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  let sheet = ss.getSheetByName("TrackerTemplate").copyTo(ss).activate(); 
  ss.moveActiveSheet(ss.getNumSheets());
   }`

我的脚本添加了两个额外的重复选项卡: 一个位于模板选项卡/工作表旁边,另一个位于脚本后面并显示在最后,所以我最终不得不删除第一个重复项

google-sheets google-apps-script google-sheets-formula
1个回答
0
投票

改进onEdit功能

为了更好的方法改进onEdit的功能。

脚本已修改

function onEdit(e) {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  var x = e.range.getA1Notation();
  SpreadsheetApp.getActiveSpreadsheet().toast(x);

    if(x == "A1:Z1000"){
    ss.moveActiveSheet(ss.getNumSheets());

    }
  
 
   }

此条件用于测试您的帖子,您需要根据您的数据集进行调整,如果您在单元格上进行编辑,则活动工作表将不会移动到最后一行

if(x == "A1:Z1000"){
ss.moveActiveSheet(ss.getNumSheets());

}

关于这一部分

let sheet = ss.getSheetByName("Sheet1").copyTo(ss).activate(); 

不需要此行,因为它对于您在电子表格上进行的手动复制来说是多余的。

样本输出

1

2

3

参考

© www.soinside.com 2019 - 2024. All rights reserved.