我是编码新手,正在寻求帮助。我有代码可以在状态更改时在 Google 表格中移动整行,如下所示:
var editedRange = e.range;
var editedRow = editedRange.getRow();
console.log(editedRow);
if (editedRange.getColumn() === statusColumn) {
var status = editedRange.getValue();
if (status === "Closed/Won") {
var lastColumn = sourceSheet.getLastColumn();
var sourceData = sourceSheet.getRange(editedRow, 1, 1, lastColumn);
if (sourceData[0] != "") {
sourceData.copyTo(destinationSheet.getRange(destinationSheet.getLastRow() + 1, 1));
}
但我不想移动整行,并且不确定如何修改代码以仅移动行的部分内容,即 A、B、D、F、G、H 和 M 列中的值到另一张纸创建原始表格的压缩版本。
我尝试了更改编辑行和最后一列的不同组合,还尝试创建数组,但无法正常工作。我发现的大多数答案似乎只涉及移动整行而不是行内的特定列。
将行移至同一电子表格中的另一张工作表
function onEdit(e) {
const sh = e.range.getSheet();
if (sh.getName() == "SheetName" && e.range.columnStart() == 1 && e.range.rowStart > 1 && e.value == "Closed/Won") {
let tsh = e.source.getSheetByName("Log");
sh.getRange(e.range.rowStart,1,1,sh.getLastColumn()).copyTo(tsh.getRange(tsh.getLastRow() + 1, 1))
}
}
我不知道状态栏号是多少,所以我选择了1。