求助修改Google Sheets脚本:将两个工作表的勾选行移至AllReg
修改Google Sheets onEdit脚本以支持多工作表勾选行移动
以下是修改后的脚本,可同时处理"Manual"和"barcode"两个工作表中第一列勾选的行,将其移动至"AllReg"工作表并删除原行:
function onEdit(e) { // 第一列包含复选框 const src = e.source.getActiveSheet(); const r = e.range; // 校验是否为目标工作表、操作列是否为第一列、是否为表头行 const targetSheets = ["Manual", "barcode"]; if (!targetSheets.includes(src.getName()) || r.columnStart != 1 || r.rowStart == 1) return; const dest = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("AllReg"); // 移动当前行(共12列数据)到目标表的最后一行下方 src.getRange(r.rowStart, 1, 1, 12).moveTo(dest.getRange(dest.getLastRow() + 1, 1, 1, 12)); // 删除原工作表中的该行 src.deleteRow(r.rowStart); };
关键修改说明:
- 将原单一工作表判断逻辑改为用数组
targetSheets存储允许操作的工作表名称,通过includes()方法校验当前操作的工作表是否在范围内,后续如需新增可处理的工作表,只需在数组中添加对应名称即可。 - 保留原脚本核心逻辑:仅响应第一列(复选框列)的操作、跳过表头行(第一行)、移动12列数据至目标表并删除原行。
内容的提问来源于stack exchange,提问作者Msh 9370131001
相关产品推荐
相关产品推荐

