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

Google Sheets勾选单元格后锁定对应行并修改背景色实现咨询

投注提交自动锁定&改色实现方案

你可以通过 Google Sheets 自带的 Apps Script 触发器实现需求,操作步骤如下:

  • 打开目标表格,点击顶部菜单栏「扩展程序」→「Apps Script」,进入脚本编辑页
  • 清空编辑页默认生成的内容,粘贴以下代码:
function onEdit(e) {
  const activeSheet = e.source.getActiveSheet();
  const editRange = e.range;
  // 仅响应F列的勾选操作
  if (editRange.columnStart !== 6 || e.value !== "TRUE") return;

  // 定位勾选行的A-F列范围
  const targetRow = editRange.rowStart;
  const targetRange = activeSheet.getRange(targetRow, 1, 1, 6);

  // 将范围背景色改为浅灰色,可自行调整色值
  targetRange.setBackground("#d3d3d3");

  // 锁定范围,仅表格所有者可编辑
  const lock = targetRange.protect().setDescription("已提交投注,禁止修改");
  const owner = Session.getEffectiveUser();
  lock.addEditor(owner);
  lock.removeEditors(lock.getEditors());
  if (lock.canDomainEdit()) {
    lock.setDomainEdit(false);
  }
}
  • 点击页面顶部的保存按钮,给项目设置一个任意名称,按照页面提示完成脚本授权即可(遇到未验证应用提示时,点击「高级」→「继续前往[项目名]」就能完成授权)
  • 回到表格测试:勾选任意行F列的复选框,对应行A-F列会自动变为灰色,且除了你之外的协作者无法编辑该范围。

补充说明

  • 如果只需要脚本对指定工作表生效,可以在代码的列判断逻辑后加一行if (activeSheet.getName() !== "指定工作表名称") return;,替换双引号里的内容为你的工作表名即可
  • 脚本仅对配置完成后新勾选的行生效,之前已经勾选的历史数据需要你手动重新勾选一次触发规则
  • 如果你需要修改已锁定的内容,右键选中对应范围,选择「保护范围」→「移除保护」即可编辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 23:30:00