【发布时间】:2017-10-09 18:59:29
【问题描述】:
我希望根据何时编辑特定单元格以说“是”,将行中的选定单元格从“待处理”工作表复制到“实时”工作表。
到目前为止,当列中的特定单元格被编辑为“是”时,我能够复制整行。
我希望该行中的特定单元格复制并移动 onEdit,而不是整行。例如,将“待处理”工作表中编辑的行的第 2、3、5、6 列但不是 4、7、8 等列的内容复制到“实时”工作表。
此外,当复制到“实时”表时,“待处理”表的第 2 列与“实时”表的第 2 列等对齐。但是对于第 5 列和第 6 列,它们都应该移过一列,因为没有复制第 4 列。所以“Pending” 5 应该代替“Live” 4,“Pending” 6 应该代替“Live” 5。
function onEdit(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "Pending" && r.getColumn() == 1 && r.getValue() == "Yes") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Live");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).copyTo(target);
}
}
【问题讨论】: