【问题标题】:how to copy row to another sheet based on dropdown value?如何根据下拉值将行复制到另一张表?
【发布时间】:2019-10-31 07:03:31
【问题描述】:

我正在尝试根据作为下拉列表的列的值将行从一张表复制到另一张表。我复制了一个基于复选框值复制的脚本,但它似乎不起作用。我认为这是因为我正在寻找的值来自下拉列表。

我需要的是:如果在工作表 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);  
  }
}

【问题讨论】:

  • 我们可以认为在您的脚本中,Renewed 在其他地方被声明为全局变量吗?

标签: google-apps-script google-sheets


【解决方案1】:

Renewed 不应该有引号吗?因为如果你尝试比较两个字符串,你应该在这个词周围加上引号。

【讨论】:

  • 在 Renewed 周围加上引号很有效!感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-31
  • 1970-01-01
相关资源
最近更新 更多