【问题标题】:Hide and show rows on every sheet在每张纸上隐藏和显示行
【发布时间】:2021-02-16 14:57:28
【问题描述】:

我有一个脚本可以在 1 张纸上运行一段时间。我正在寻找一种使其适用于所有工作表的方法。所以对“GetSheetByName”没有限制。这可能吗?

我现在正在使用的脚本:

function hideShow() {
  
  var sh= SpreadsheetApp.getActive().getSheetByName("Winkel Roosters");
  var rg=sh.getRange(3,25,sh.getLastRow()-2,1);
  var vA=rg.getValues();
  for(var i=3;i<vA.length;i++) {
    if(vA[i][0]==1) {
      sh.hideRows(i+3);
    }
    if(vA[i][0]==0) {
      sh.showRows(i+3);
    }
  }
}

【问题讨论】:

  • 我在下面提供了一个答案,应该能够解决您的问题。请检查它是否适用于您的。

标签: google-apps-script google-sheets spreadsheet


【解决方案1】:

您可以在电子表格的所有工作表上循环播放。

代码:

// Get all sheets
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheets();
// Loop script into all of those sheets
ss.forEach(function (sh){
  var rg=sh.getRange(3,25,sh.getLastRow()-2,1);
  var vA=rg.getValues();
  for(var i=3;i<vA.length;i++) {
    if(vA[i][0]==1) {
      sh.hideRows(i+3);
    }
    if(vA[i][0]==0) {
      sh.showRows(i+3);
    }
  }
});

【讨论】:

  • 是的!太棒了!谢谢你纳粹!
  • 嗨@Roy,如果您的问题已解决,请按接受按钮。与您有相同问题的其他人也可以将您的问题作为可以解决的问题。如果找不到按钮,请随时告诉我。 stackoverflow.com/help/accepted-answer
猜你喜欢
  • 1970-01-01
  • 2011-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-21
  • 2016-12-17
  • 1970-01-01
相关资源
最近更新 更多