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

在Google Sheets中的多个工作表中运行相同的删除行脚本

敖永丰
2023-03-14

在Google表格中,我找到并编辑了允许我在指定列中的单元格值为0或空白时删除行的代码。我想在电子表格中的4个工作表中的2个工作表上运行相同的任务。如何编辑代码以使其同时在多个工作表中运行。这两个工作表不相关,但我将其结构化,以便在两个工作表中搜索相同的列以查找0。

function readRows() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var rows = sheet.getDataRange();
  var numRows = rows.getNumRows();
  var values = rows.getValues();

  var rowsDeleted = 0;
  for (var i = 0; i <= numRows - 1; i++) {
    var row = values[i];
    if (row[4] == 0 || row[4] == '') {
      sheet.deleteRow((parseInt(i)+1) - rowsDeleted);
      rowsDeleted++;
    }
  }
};

共有1个答案

梁晋鹏
2023-03-14

类SpreadsheetApp()返回单个工作表。要获取电子表格的所有工作表,请使用Class spreadsheetgetSheets(),要仅获取某些工作表的名称,请使用Class spreadsheetgetSheetByName(name)

 类似资料:
  • 下面的代码来自这篇文章中关于将行值复制到新工作表(如果它存在于另一个工作表中)的答案。 现在,如果不是将重复值复制到第3页,而是要将它们从第1页和第2页中删除(如果在第3页中存在)。使用相同的电子表格,我有3张表格。将在前两张图纸上进行比较的唯一值是第一列“ID编号”。 给定所有3张表中存在的值,即784 | John Stiple | I.T Department,应删除表1和表2中的相同行值,

  • 我只希望脚本在“Trip 1”到“Trip 3”的工作表上运行。 这是我正在使用的脚本:

  • 我是天然气新手,我写了一个脚本来进行价格比较,它基本上得到产品的价格,储存它们,每天通过基于时间的触发器检查价格是否发生变化,如果价格发生变化,发送电子邮件,如果没有变化,什么也不做。 所以现在我陷入困境,我想在电子表格中添加更多的工作表,我需要在所有工作表中运行相同的脚本,但我不知道如何管理它。 据我所知,现在我的脚本是基于这个功能运行的 “var ss=SpreadsheetApp.getAc

  • 问题内容: 这是我想做的事情: 从表中删除一个项目,并在表中删除与该项目关联的所有图像。 可以说 此查询有什么问题? 问题答案:

  • 问题内容: 我在一个表中有多组重复项(一个表有3条记录,另一个表有2条记录,等等)-存在多于1行的多行。 以下是我想删除它们的方法,但是无论有多少重复,我都必须运行脚本: 这在一定程度上效果很好。我需要为每组重复项运行此命令,然后它只会删除1(这是我现在需要的全部)。 问题答案: 如果表上有键列,则可以使用它来唯一地标识表中的“不同”行。 只需使用子查询来标识唯一行的ID列表,然后删除此集合之外的

  • 问题内容: 我正在尝试使用SQL从连接在一起的多个表中删除多行。 表A连接到表B表B连接到表C 我想删除表B和C中与表A中的一行相对应的所有行 问题答案: 好吧,如果您使用过InnoDB表,则可以使用外键设置级联删除,这将自动完成所有操作。但是,如果您出于某种原因使用MyISAM,则只需使用多表DELETE即可: