大家好,如何在当前脚本中添加更多工作表进行搜索?

时间:2019-12-23 12:29:59

标签: google-apps-script

我目前的sheet检查“ 2019年12月”表是否符合条件。然后,他会将行的副本复制到sheet2。

现在,我不仅希望在'Dec 2019'上进行搜索,而且希望在其他月度表中进行搜索。我每个月都有不同的工作表。

需要帮助使我的脚本正确无误。

function onEdit(event) {
 // assumes source data in sheet named main
 // target sheet of move to named Completed
 // getColumn with drop-downs is currently set to column 3 or C
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var s = event.source.getActiveSheet();
 var r = event.source.getActiveRange();

 if(s.getName() == "Dec 2019" && r.getColumn() == 7 && r.getValue() == "No") {
   var row = r.getRow();
   var targetSheet = ss.getSheetByName("Sheet2");
   var values = s.getRange(row, 1, 1, 10).getValues()[0];
   var resultRow = [values[0], values[1], values[2]];
   targetSheet.appendRow(resultRow);
 } 
}



1 个答案:

答案 0 :(得分:0)

您当前的代码包含

if(s.getName() == "Dec 2019" && r.getColumn() == 7 && r.getValue() == "No") {

这意味着,如果已编辑工作表的名称为“ Dec 2019”且已编辑列为“ 7”且值为“ No”,则会执行您的请求

如果您还要对其他工作表应用相同的条件(已编辑的列“ 7”和值“否”),则您需要实施or operator“ | |”, 例如

if((s.getName() == "Dec 2019" || s.getName() == "Nov 2019") && r.getColumn() == 7 && r.getValue() == "No") {

或者,如果您要对电子表格中的所有工作表执行请求,只需完全删除第一条件:

if(r.getColumn() == 7 && r.getValue() == "No") {