如何解决insertRows之后保持活动行
在onEdit函数中使用了insertRows之后,是否可以将选择保留在原始活动行上?
chickens
我希望能够离开正在编辑的单元格,触发onEdit(),但是我要继续输入我正在处理的行的下一个单元格以及所有后续单元格。
如果我跳出具有onEdit()函数的单元格,则无论我在下一个单元格中键入的内容与我剩下的单元格都在同一行。但是,下一次我进行选项卡操作(如果onEdit()已完成)时,我将返回到调用insertRows()函数之前所在的电子表格行。
无论onEdit()可能要运行多长时间,我都希望能够继续在新的电子表格行(这是我正在处理的数据行)上。
在这张图片screen shot中,当调用onEdit()时,我正在处理第13行。通过insertRows()添加了新的13-16行。我能够跳出并在行17的数字15旁边输入yes和yes,然后onEdit()完成,我输入的下一个单元格又回到了第13行。我正在寻找一种方法来继续跨接并将所选单元格设置为我的颜色为紫色的单元格,而不是蓝色突出显示的单元格。
解决方法
如果您缓慢地(以合理的速度)编辑电子表格,这应该足够好。但是,如果您以120wpm的速度输入内容,则会中断。希望对您有帮助。
function onEdit(e) {
[snip]
const sheet = SpreadsheetApp.getActiveSheet();
sheet.insertRows(3,3);
//gets the current cell
const curCell = sheet.getCurrentCell();
const curColumn = curCell.getColumn();
const curRow = curCell.getRow();
//shift the row down by numRowsInserted and col by 1 because you tabbed away
sheet.setActiveRange(sheet.getRange(curRow+3,curColumn+1));
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。