【问题标题】:Hide or filter rows or columns if specific sheets are empty in a google sheet macro如果 Google 工作表宏中的特定工作表为空,则隐藏或过滤行或列
【发布时间】:2019-01-06 20:15:39
【问题描述】:

如果范围为空,我一直在尝试有条件地隐藏或过滤列。我猜函数“if”不起作用,因为即使范围不为空,该列也会被隐藏。

如果有人检查我的代码,我会感谢。

function OcultarSi() {

    var ss = SpreadsheetApp.getActive();
    var sh = ss.getSheets()[0];
    var range = sh.getRange('E2:E24');
    if (range.isBlank()){
        spreadsheet.getRange('E:E').activate();
        spreadsheet.getActiveSheet().hideColumns(spreadsheet.getActiveRange().getColumn(), spreadsheet.getActiveRange().getNumColumns());
    }
};

【问题讨论】:

  • 添加更多详细信息,例如 E2:E24 上的值/公式是什么。考虑添加演示电子表格的屏幕截图或链接
  • @MarioAndres 非常接近。 1) 第 3 行和第 4 行具有相同的效果 var ss = SpreadsheetApp.getActive();var sh = ss.getSheets()[0]; - 你不需要两者。 2)Line7:spreadsheet.getRange('E:E').activate();“电子表格”未定义,也许试试sh.getRange('E:E').activate();。同上第 8 行;试试sh.hideColumns(sh.getActiveRange().getColumn(), sh.getActiveRange().getNumColumns());
  • 谢谢特迪诺兹!不,它有效,我意识到我已将“电子表格”更改为“ss”,但并非在所有地方。下面的代码适用于需要类似代码的任何其他用户。 . .函数 OcultarSi() { var 电子表格 = SpreadsheetApp.getActive();变量范围 = 电子表格.getRange('E2:E24'); if (range.isBlank()){ spreadsheet.getRange('E:E').activate();电子表格.getActiveSheet().hideColumns(spreadsheet.getActiveRange().getColumn(),电子表格.getActiveRange().getNumColumns()); } };

标签: google-apps-script google-sheets


【解决方案1】:

下面的代码适用于任何需要类似代码的用户。 . .

function OcultarSi(){ 
  var spreadsheet = SpreadsheetApp.getActive();
  var range = spreadsheet.getRange('E2:E24');
  if (range.isBlank()){ 
    spreadsheet.getRange('E:E').activate();
    spreadsheet.getActiveSheet().hideColumns(spreadsheet.getActiveRange().getColumn(),spreadsheet.getActiveRange().getNumColumns());
  } 
};

【讨论】:

    猜你喜欢
    • 2020-05-13
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 1970-01-01
    • 2019-03-10
    • 1970-01-01
    相关资源
    最近更新 更多