如何通过脚本影响多张纸

时间:2019-02-26 22:24:00

标签: google-apps-script google-sheets

在Google表格中,我想在整个文档中隐藏值'Del'的行,即多张表格。另外,我希望仅当我从工作表E39更新单元格'Pricing breakdown'时才会发生这种情况。

我当前的代码对于工作表'Pricing breakdown'来说是完美的,但是我希望它也能影响工作表'Project Plan''Payment Plan',如果可以帮助我仅运行此脚本,还要加分当我从工作表E39更改'Pricing breakdown'时。

function onEdit(event){
      var s = SpreadsheetApp.getActive().getSheetByName('Pricing breakdown');
      s.showRows(1, s.getMaxRows());

  s.getRange('A:A')
    .getValues()
    .forEach( function (r, i) {
    if (r[0] == 'Del') 
      s.hideRows(i + 1);
    });
}

1 个答案:

答案 0 :(得分:0)

尝试一下:

function onEdit(e){
  var rg=e.range;
  var sh=rg.getSheet();
  if(sh.getName()!='Pricing breakdown'){return;}
  if(e.range.getA1Notation() == 'E39') {
    var shA=['Pricing breakdown','Project Plan','Payment Plan'];
    for(var j=0;j<shA.length;j++) {
      var s=e.source.getSheetByName(shA[j]);
      s.showRows(1,s.getMaxRows());
      //e.source.toast(s.getName());
      s.getRange('A:A').getValues()
      .forEach( function (r, i) {
        if (r[0] == 'Del') 
          s.hideRows(i + 1);
      });
    }
  }
}