【问题标题】:Google Sheets, moving a row to another sheet谷歌表格,将一行移动到另一张表格
【发布时间】:2021-10-03 21:04:41
【问题描述】:

我是 Google 表格的新手。我正在尝试为我的公司制作电子表格。当我点击复选框时,它会将整行移动到另一张纸上。我写了这段代码,但它有时有效,有时无效。有人能帮帮我吗?

这是代码

function onEdit(e) {
  const src = e.source.getActiveSheet();
  const r = e.range;
  if (src.getName() != "Teklifler" || r.columnStart != 11 || r.rowStart == 1) return;
  const dest = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Onaylanan");
  src.getRange(r.rowStart,1,1,15).moveTo(dest.getRange(dest.getLastRow()+1,1,1,15));
  src.deleteRow(r.rowStart);
    if (src.getName() != "Onaylanan" || r.columnStart != 15 || r.rowStart == 1) return;
  const desti = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Tamamlanan");
  src.getRange(r.rowStart,1,1,15).moveTo(desti.getRange(desti.getLastRow()+1,1,1,15));
  src.deleteRow(r.rowStart);

}

这是电子表格

https://docs.google.com/spreadsheets/d/1CxWCSNivWhXTQSpqlriMjapg1NssSfSEvbm8-Ay_a3A/edit?usp=sharing

感谢您的帮助

【问题讨论】:

标签: google-apps-script google-sheets spreadsheet


【解决方案1】:

我认为如果你选中一个复选框,你想移动该行

  • “Teklifler”工作表中的

    “Onaylandı”

  • “Onaylanan” 工作表中的

    “Tamamlandı” 列。

试试这个。

function onEdit(e) {
  const src = SpreadsheetApp.getActiveSheet();
  const r = e.range;

  if (src.getName() == "Teklifler" && r.columnStart == 11 && r.isChecked()) {
    const dest = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Onaylanan");
    src.getRange(r.rowStart, 1, 1, 15).moveTo(dest.getRange(dest.getLastRow() + 1, 1, 1, 15));
    src.deleteRow(r.rowStart);
  }
  
  if (src.getName() == "Onaylanan" && r.columnStart == 15 && r.isChecked()) {
    const dest2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Tamamlanan");
    src.getRange(r.rowStart, 1, 1, 15).moveTo(dest2.getRange(dest2.getLastRow() + 1, 1, 1, 15));
    src.deleteRow(r.rowStart);
  }

}

【讨论】:

  • 请注意我使用了r.isChecked() 方法。这将检查复选框是否被选中。可莱凝胶素。 ;-)
猜你喜欢
  • 2020-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多