如何根据下拉值将行复制到另一张工作表?

时间:2019-10-30 22:08:38

标签: google-apps-script google-sheets

我试图根据作为下拉列表的列的值将行从一张纸复制到另一张纸。我复制了一个脚本,该脚本根据复选框的值进行复制,但似乎无法正常工作。我认为这是因为我正在寻找的价值来自下拉列表。

我需要的是:如果在工作表1中的第5列或E列被续订(这是一个下拉选择),则应将该行复制到名为EmailClinic的工作表中。

function onEdit(event) {
  // assumes source data in sheet named Sheet1
  // target sheet of move to named EmailClinic
  // getColumn with check-boxes is currently set to colu 5 or E
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = event.source.getActiveSheet();
  var r = event.source.getActiveRange();

  if(s.getName() == "Sheet1" && r.getColumn() == 5 && r.getValue() == Renewed) {
    var row = r.getRow();
    var numColumns = s.getLastColumn();
    var targetSheet = ss.getSheetByName("EmailClinic");
    var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    s.getRange(row, 1, 1, numColumns).copyTo(target);  
  }
}

1 个答案:

答案 0 :(得分:1)

Renewed不应该带有引号吗?因为如果您尝试比较两个字符串,则应该在该词前后加上引号。