当该行的状态更改时将行的特定列移动到另一张工作表的代码

问题描述 投票:0回答:1

我是编码新手,正在寻求帮助。我有代码可以在状态更改时在 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 列中的值到另一张纸创建原始表格的压缩版本。

我尝试了更改编辑行和最后一列的不同组合,还尝试创建数组,但无法正常工作。我发现的大多数答案似乎只涉及移动整行而不是行内的特定列。

google-apps-script
1个回答
0
投票

将行移至同一电子表格中的另一张工作表

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。

© www.soinside.com 2019 - 2024. All rights reserved.