首页 > 解决方案 > 使用触发器根据 X 列中的值移动行

问题描述

我正在寻找一种解决方案,当函数在触发器上运行时,它将根据指定单元格中的内容移动整行的内容。我可以使用onEdit(e)内表来完成此操作,但是在运行“常规”版本时,什么也没有发生。没有错误。

在编辑单元格时,我经常使用这种类型的功能,但对于这个特定的工作表,我需要它在调用时工作(通过触发器、手动等)。

function archive(){
  // assumes source data in sheet named Form Responses
  // target sheet of move to named ARCHIVE
  // Target col is B (3)
  // Target value is "TEST" to move to "ARCHIVE"

var sheet = SpreadsheetApp.getActiveSpreadsheet();
var mainSheet = sheet.getSheetByName("Form Responses");
var r = mainSheet.getActiveRange();

if(r.getColumn() == 3 && r.getValue() >= "TEST"){
   var row = r.getRow();
   var numColumns = mainSheet.getLastColumn();
   var targetSheet = sheet.getSheetByName("ARCHIVE");
   var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
   mainSheet.getRange(row, 1, 1, numColumns).copyTo(target, {contentsOnly:true});
    mainSheet.deleteRow(row);
   }
}

运行时,工作表没有任何反应。没有错误,没有日志等。

标签: google-apps-scriptgoogle-sheetstriggers

解决方案


推荐阅读