Google Sheets脚本修改:从第4行开始插入复选框
修改Google Sheets复选框脚本,限制仅从第4行起生效
没问题!我已经帮你调整了脚本,让它只在第4行及以下的单元格编辑时才执行复选框的插入或清除操作。
原脚本代码
function onEdit(e) { const watchSheets = /^(Sheet1|Sheet2|Sheet3)$/i; const watchColumn = 5; const checkboxColumns = [1, 2, 4]; if (e.range.columnStart === watchColumn && e.source.getActiveSheet().getName().match(watchSheets)) { checkboxColumns.forEach(checkboxColumn => { const checkboxCell = e.source.getActiveSheet().getRange(e.range.rowStart, checkboxColumn); if (e.value) { checkboxCell.insertCheckboxes(); } else { checkboxCell.clearDataValidations(); checkboxCell.clearContent(); } }); } }
修改后的可用代码
function onEdit(e) { const watchSheets = /^(Sheet1|Sheet2|Sheet3)$/i; const watchColumn = 5; const checkboxColumns = [1, 2, 4]; if (e.range.columnStart === watchColumn && e.source.getActiveSheet().getName().match(watchSheets) && e.range.rowStart >= 4) { checkboxColumns.forEach(checkboxColumn => { const checkboxCell = e.source.getActiveSheet().getRange(e.range.rowStart, checkboxColumn); if (e.value) { checkboxCell.insertCheckboxes(); } else { checkboxCell.clearDataValidations(); checkboxCell.clearContent(); } }); } }
改动说明
我只是在原脚本的触发条件中新增了一个判断:&& e.range.rowStart >= 4。这个条件会检查当前编辑的单元格行号是否大于等于4,只有满足这个条件时,脚本才会执行后续的复选框插入或清除操作,完美避开了1-3行的编辑场景。
内容的提问来源于stack exchange,提问作者Hibernian
相关产品推荐
相关产品推荐

