【发布时间】:2019-11-12 04:53:08
【问题描述】:
我对脚本很陌生,因此对于我在解释我的问题时可能出现的错误,我深表歉意。我正在研究一个电子表格,当它满足某个条件(或列中的某个值)时,它将一行复制到另一个工作表,第二个函数将在满足某个条件时将该行移动到另一个工作表。
使用相关问题/答案,我能够编写一个脚本,在满足第 4 列中的“出站”条件时删除一行,请参见下面的 myFunction1。对于 myFunction2,当它满足第 15 列中的标准“M”时,我试图将行复制到另一个工作表,但是当我在第 15 列中输入该值时,它会复制错误的行信息。
希望这是有道理的!代码如下:
function onEdit(event) {
myFunction1(event);
myFunction2(event);
}
function myFunction1(event){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "Trailers in Yard" && r.getColumn() == 4 && r.getValue() == "Outbound") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Outbound");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
}
function myFunction2(event){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "Trailers in Yard" && r.getColumn() == 15 && r.getValue() == "M") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Moves");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).copyTo(target);
}
}
感谢您的帮助!
【问题讨论】:
-
欢迎来到 StackOverflow。 “它复制了错误的行信息。”它会 复制哪些信息?请分享您的电子表格副本(不包括私人或机密信息)。
标签: google-apps-script google-sheets