onEdit事件的range对象含合并单元格时返回范围异常
问题:Google Sheets onEdit函数合并单元格范围识别异常
- 我在Google Sheets中使用
onEdit函数检测单元格范围的变更,代码如下:
function onEdit(e) { // 定义用于记录编辑范围的目标单元格 var cell = e.source.getActiveSheet().getRange(11, 3, 1, 1); // 避免编辑目标单元格时触发循环写入 if(e.range.getA1Notation() != cell.getA1Notation()) { // 将编辑范围的A1标记写入目标单元格 cell.setValue(e.range.getA1Notation()); }; };
问题现象:
- 编辑不包含合并单元格的范围时,函数运行正常,能正确返回编辑范围;
- 编辑包含合并单元格的范围时,
e.range仅返回合并组的首个单元格,即便编辑范围起始于合并组之前的行或列。
验证方式:编辑B2:F8区域,先编辑非合并单元格,再编辑包含合并单元格的范围即可复现该问题。
需求:希望
range对象返回实际编辑的完整范围,而非仅合并组的首个单元格。当前异常导致无法在其他函数中正常使用该范围进行验证操作。
内容的提问来源于stack exchange,提问作者Lucas Andrade
相关产品推荐
相关产品推荐

