You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

修改AppScript脚本:取消隐藏行时排除Sheet首行

修改Google Apps Script实现取消隐藏时排除第一行

你的脚本逻辑没问题,要实现取消隐藏时跳过第一行,只需要在显示空行的分支里加个行号判断就行。

修改后的完整代码如下:

function onEdit(e) {
  const sh = e.range.getSheet();
  const rg = e.source.getRangeByName("NamedRange1");
  const sr = rg.getRow();
  const sc = rg.getColumn();
  const er = sr + rg.getHeight() - 1;
  const ec = sc + rg.getWidth() - 1;
  
  if (sh.getName() == "Sheet3" && e.range.columnStart >= sc && e.range.columnStart <= ec 
      && e.range.rowStart >= sr && e.range.rowStart <= er && e.value) {
    const sh2 = e.source.getSheetByName("Sheet2");
    const vs = sh2.getDataRange().getValues();
    
    vs.forEach((r, i) => {
      const rowNum = i + 1;
      if (r.every(cell => cell == '')) {
        if (e.value == "A") {
          sh2.hideRows(rowNum);
        } else {
          // 取消隐藏时跳过第一行
          if (rowNum !== 1) {
            sh2.showRows(rowNum);
          }
        }
      }
    });
  }
}

关键改动说明:

  • 新增rowNum变量,把循环索引i转换为实际行号,代码更易读
  • 在取消隐藏的分支中添加了rowNum !== 1的判断,这样第一行哪怕是空行,也不会被取消隐藏

内容的提问来源于stack exchange,提问作者Essem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 20:01:13