【问题标题】:Google script for move rows depending on checkbox - Google sheet用于根据复选框移动行的 Google 脚本 - Google 工作表
【发布时间】:2020-10-01 23:32:42
【问题描述】:

当单元格复选框(AE 列)为真时,我有一个脚本可以将一行从一个选项卡“COMMUNICATIONS”移动到另一个选项卡“ARCHIVE”,但它只适用于 AE2 行,当我运行时它不起作用检查 AE3 或 AE6。

function onEdit() {

  var sheetNameToWatch = "COMMUNICATIONS";
  var sheetNameToMoveTheRowTo = "ARCHIVE";

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getActiveCell();

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet1 = ss.getSheetByName(sheetNameToWatch);
  var sheet2 = ss.getSheetByName(sheetNameToMoveTheRowTo);


  var cell1 = sheet1.getRange("AE2:AE1000");

  var x= cell1.getValue();

  Logger.log("a",x);


  if(cell1.getValue()== false) {

  Logger.log("box not checked");

    sheet1.showSheet();


  } else if (cell1.getValue() == true) {

    var targetSheet = ss.getSheetByName(sheetNameToMoveTheRowTo);

    var targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);

    sheet.getRange(range.getRow(), 1, 1, 
    sheet.getLastColumn()).moveTo(targetRange);

    sheet.deleteRow(range.getRow());

  }
}

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    你可以试试这个代码。我在一张床单上对其进行了测试,效果很好。

       function onEdit(event) {
      // assumes source data in sheet named Active
      // target sheet of move to named Found 
      // test column with yes/no is col 13 or M
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var s = event.source.getActiveSheet();
      var r = event.source.getActiveRange();
    
      if(s.getName() == "COMMUNICATIONS" && r.getColumn() == 13 && r.getValue() == true) {
        var row = r.getRow();
        var numColumns = s.getLastColumn();
        var targetSheet = ss.getSheetByName("ARCHIVE");
        var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
        s.getRange(row, 1, 1, numColumns).moveTo(target);
        s.deleteRow(row);
      }
    
    }
    

    【讨论】:

    • 感谢您的帮助。它正在工作,但现在它正在移动两行。例如,我检查了 AE3,它正在移动 AE3 和 AE4。
    • 再次感谢您的帮助。我在每一行 COMMUNICATIONS 中添加颜色,看看是否只是我的感知,但我可以看到两行具有不同颜色的同时移动。如果你能帮助我,我真的很感激!
    • 很高兴它成功了:)
    猜你喜欢
    • 2022-10-24
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    相关资源
    最近更新 更多