将一行从一张图纸移动到另一张图纸时data_stamp的脚本



我们在工作簿中使用谷歌工作表,在许多工作流中使用脚本。

在其中一个工作簿中,我们有一个工作脚本,根据第20列中的值,它将从第20列的下拉列表中将该行移动到指定页面。当脚本将行移动到另一页时,我需要修改它,以便在第8列中标记当前日期。(不管是否已经有值(


function onEdit(event) {
// assumes source data in sheet named Needed
// target sheet of move to named Acquired
// test column with yes/no is col 4 or D
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "Erik" && r.getColumn() == 20 && r.getValue() == "Marcus") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Marcus");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
}
OBS! This is what i have been trying with, but it is not working :(
if(s.getName() == "Erik" && r.getColumn() == 20 && r.getValue() == "Iman") {
var cellD2 = r.getColumn () == 8;  

cellD2.setValue(new Date());

var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Iman");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}

你很接近,唯一的问题是cellD2的定义

要访问一个单元格,您需要使用方法getRange(行,列(。

要访问活动行,可以使用getRow((。

在您的情况下,它将是:

var cellD2 = s.getRange(r.getRow(), 8);

相关内容

最新更新