【发布时间】:2016-05-03 13:44:48
【问题描述】:
我目前正在使用修改后的脚本,该脚本允许我从工作表#1 复制整行,在工作表 #2 的顶部创建一个新行,将复制的行粘贴到该工作表,然后从表#1。 这通常由许多用户全天完成。函数是onEdit。
这是脚本:
function onEdit(e) {
var ss = e.source;
var activatedSheetName = ss.getActiveSheet().getName();
var activatedCell = ss.getActiveSelection();
var activatedCellRow = activatedCell.getRow();
var activatedCellColumn = activatedCell.getColumn();
var activatedCellValue = activatedCell.getValue();
var URGENCE = ss.getSheetByName("List"); // source sheet
var COMPLET = ss.getSheetByName("Comp"); // target sheet
// if the value in column K is "x", move the row to target sheet
if (activatedSheetName == URGENCE.getName() && activatedCellColumn == 11 && activatedCellValue == "x")
{
COMPLET.insertRows(2,1);// insert a new row at the second row of the target sheet
var rangeToMove = URGENCE.getRange(/*startRow*/ activatedCellRow, /*startColumn*/ 1, /*numRows*/ 1, /*numColumns*/ URGENCE.getMaxColumns());
rangeToMove.moveTo(COMPLET.getRange("A2"));
URGENCE.deleteRows(activatedCellRow,1); // delete row from source sheet
}
}
最近这让我的工作表崩溃。每次有人在 K 列中添加“x”时,工作表都会停止,并且大多数情况下,它会崩溃并且 chrome 会杀死页面。
我可能是错的,但我猜的问题是 sheet#1 中的大多数行都有条件格式。复制行时,它也会复制条件格式。这导致我的工作表#2 具有数百个重复的条件格式:此工作表打开速度非常慢。也可能是因为该文档与大约 30 人共享,这些人经常查看和编辑它:也许 onEdit 不是这里的正确功能?
是否有一个简单的脚本可以添加到我的函数中来去除粘贴行上的条件格式?我不需要工作表#2 中的条件格式,由于某种奇怪的原因,我无法在任何地方找到答案。
【问题讨论】:
标签: google-sheets