首页 > 解决方案 > 如何使用 Google Apps 脚本在列中搜索任何值并将行移动到另一个工作表?

问题描述

我要实现的目标是比较列中的所有值,如果该值不是空白,则将整行移动到另一张表,然后从第一张表中删除该行。我对此很陌生,而且我知道我的代码不完整,无法实现目标,但到目前为止,这就是我所拥有的:

function onEdit(event) {

  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const row = event.range.getRow();
  const col = event.range.getColumn();
  const as = event.source.getActiveSheet();
  const numColumns = as.getLastColumn();
  const targetSheet = ss.getSheetByName("Sheet2");
  const target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);

  if(as.getName() == "Form Responses 1" && as.getRange(row,19) == "") {

   as.getRange(row, 1, 1, numColumns).moveTo(target);
   //as.deleteRow(row);
}
}

标签: google-apps-scriptgoogle-sheetsgoogle-forms

解决方案


function onEdit(e) {
  const sh = e.range.getSheet();
  if (sh.getName() == "Form Responses 1" && sh.getRange(e.range.rowStart, 19).getValue() != "") {
    const tsh = ss.getSheetByName("Sheet2");
    const trg = tsh.getRange(tsh.getLastRow() + 1, 1);
    sh.getRange(e.range.rowStart, 1, 1, sh.getLastColumn()).copyTo(trg);
  }
}

那你可能也不能删除


推荐阅读