当前位置: 首页 > 知识库问答 >
问题:

通过从另一个工作表触发的脚本删除工作表中的单元格。

百里星纬
2023-03-14

对于包含多个工作表的电子表格,我有一个脚本,可以在按下按钮时删除特定范围内所有工作表中的数据。

现在我有一个主电子表格,它链接到其他几个电子表格(以及它们包含的工作表)(导入范围、查询等)。)。

是否可以通过脚本在连接的电子表格中按一个按钮删除特定范围内的数据,我想从主电子表格中触发此操作?!

使用脚本从工作表中删除的数据是手动用户输入的,因此不来自主电子表格。表1中应删除的范围/单元格不同。A和1。B

为了更好地理解,附上一张图表:

到目前为止,我的剧本是:

    function onOpen() {

  SpreadsheetApp.getUi()

    .createMenu('Delete User Input Data')

    .addItem(

      'Delete Data now',

      'userActionResetMultipleSheetsByRangesAddresses'

    )

      .addToUi();

}

function userActionResetMultipleSheetsByRangesAddresses() {

  var sheetNames = [

    { name: 'Sheet1.A', rangesAddressesList: ['Y3:AG99'] },

    { name: 'Sheet1.B', rangesAddressesList: ['AI3:AX99'] },

    ];

  sheetNames.forEach(function(sn) {

    var sheet = SpreadsheetApp.getActive().getSheetByName(sn.name);

    if (sheet) {

      resetByRangesList_(sheet, sn.rangesAddressesList);

    }

  });

}

function resetByRangesList_(sheet, rangesAddressesList) {

  sheet.getRangeList(rangesAddressesList).clearContent();

}

共有1个答案

尹赞
2023-03-14

我想你可以用这样的东西:

function userActionResetMultipleSheetsByRangesAddresses() {
  var ss=[{id:'',name:'Sheet1.A', rangesAddressesList: ['Y3:AG99'] },{id:'',name:'Sheet1.B',rangesAddressesList: ['AI3:AX99'] },
          {id:'',name:'Sheet2.A', rangesAddressesList: ['Y3:AG99'] },{id:'',name:'Sheet2.B',rangesAddressesList: ['AI3:AX99'] },
          {id:'',name:'Sheet3.A', rangesAddressesList: ['Y3:AG99'] },{id:'',name:'Sheet3.B',rangesAddressesList: ['AI3:AX99'] }
         ];
  ss.forEach(function(e) {
    var sheet = SpreadsheetApp.openById(e.id).getSheetByName(e.name);
    if(sheet){
      sheet.getRangeList(e.rangesAddressesList).clearContent();
    }
  });
}

您只需添加电子表格标识,并更正其余的工作表名称和范围。

 类似资料:
  • 您好,我正在为D制作一张计划表 我正在尝试编写一个脚本,它将自动隐藏PlayerSheet中所有空的“initiative”单元格。我已经成功地编写了这个脚本,但是我希望它在我编辑MainSheet时触发。因为工作表中的所有日期都来自于使用IMPORTRANGE,所以我无法使用on edit触发器,因为PlayerSheet从未被编辑过。 每当我编辑MainSheet时,是否可以让位于Player

  • 我编写了一个绑定到谷歌电子表格的小脚本,它从最后一行的单元格中读取电子邮件地址并向其发送电子邮件。这些值由一个WebApp(而不是谷歌表单)收集。 我试过各种各样的触发器。时间驱动触发器工作,但电子表格触发器不工作。我都试过了。如果我手动更改电子表格中的某个单元格,onEdit触发器会工作,但当工作表被另一个脚本更改时,它不会启动。

  • > 我正在尝试编写一个脚本,它将从一个工作表上的范围复制数据,并在B列的第一个空单元格中粘贴到另一个。我有一个脚本,可以将其粘贴到工作表中的第一个空单元格中这工作正常,但是我在列A中有一行静态的身份证号码,所以当它粘贴数据时,它就在工作表的下面。所以,我需要一种跳过列A并粘贴到列B中的第一个空单元格的方法。希望这有意义。 另一部分是B列中有时会有空单元格。所以它需要跳过这些来获得最后一个空单元格。

  • 我写了一个google脚本来创建和粘贴从一个单元格到另一个单元格的值(相同的电子表格)。该守则包括以下两个步骤: > (不工作):将相邻单元格的新值粘贴到第二张工作表中下一个空行(第1列)的单元格中。 下面的代码是我迄今为止尝试过的代码,但第二页上没有显示该值。有人知道我在下面的尝试中的问题在哪里吗? 谢谢你

  • 我面临的情况是,我必须将条件格式从一个Excel工作表复制到另一个。 这就是我尝试过的; 源和目标都是XSSF。 但是当我试图打开目标工作表时,excel显示一条消息,提示工作表中有一些错误,我要恢复它吗?如果单击“是”,工作表将打开,但条件格式不能正确应用。 修复 excel 后显示一条消息,例如; Excel能够通过修复或删除不可读的内容来打开文件 在这种情况下,我的条件格式就像如果单元格区域

  • 试图从当前工作簿“Create Report.xlsm”中复制工作表名称“Headings Explantions”,该工作簿打开到我要求打开的工作簿中,我得到了下标超出范围的错误