根据单元格值实时自动隐藏 Google 电子表格中的行

问题描述 投票:0回答:1

我正在尝试创建一个实时自动化,以便在单元格变为特定值时隐藏行。

我是 Google 表格或脚本新手。目前我只能得到这个功能,

function hideRowsBasedOnCell() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var range = sheet.getDataRange();
  var values = range.getValues();

  for (var i = 0; i < values.length; i++) {
    if (values[i][0] == "Hide") {
      sheet.hideRows(i + 1);
    }
  }
}

每次我想隐藏该行时都必须运行它。

有没有办法实时隐藏该行?这样,我就不必创建一个可以单击的按钮。

google-sheets google-apps-script
1个回答
0
投票

要在单元格值更改为特定值时自动运行脚本,请使用触发器,更具体地说,是编辑触发器。

触发器有两种类型:简单的和可安装的。简单的触发器使用保留的函数名称

onEdit
。可安装的触发器可以运行一个函数;避免将其设置为运行名为 onEdit 的函数,因为它将运行两次。

要详细了解 Google Apps 脚本中的触发器,请阅读 https://developers.google.com/apps-script/guides/triggershttps://developers.google.com/apps-script/guides/触发器/可安装


使用带有 if 语句的 onEdit 简单触发器仅当新单元格值为

certain value
时才调用函数的示例。

function onEdit(e){
   if(e.value === 'certain value'){
      hideRowsBasedOnCell();
   }
}

注意:由于上述函数使用了编辑时事件对象,因此不应通过单击 Run 按钮从 Google Apps 脚本代码编辑器运行该函数。

© www.soinside.com 2019 - 2024. All rights reserved.