如何修复脚本错误-未定义的值

时间:2019-02-18 13:34:51

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

我写了一个运行良好的简单脚本,但是问题是当您清除(退格)“19Tydzień08”工作表中的任何单元格时,其值都为“ undefined”。如何解决这个问题? 有一张纸:https://docs.google.com/spreadsheets/d/1_ybHZIgvQvFmAbXb2WjyuUT4QrMAakV9Z4Yt_cJWeVw/edit?usp=sharing

function onEdit(e) {
  var ss = SpreadsheetApp.getActive();
  var sh = ss.getSheetByName("19Tydzień 08 (Zjazdy Kierowców)")

  var rng = e.range
  var ov = e.oldValue
  var v = e.value

  if (ss.getActiveSheet().getName() == "19Tydzień08") {  
    rng.setValue(ov)

    var n = sh.getRange("C4:C").getValues().filter(String).length   
    var data = sh.getRange(4, 2, n, 7).getValues()

    // Utilities.sleep(2000)
    // SpreadsheetApp.flush();
    rng.setValue(v)
    var n = sh.getRange("C4:C").getValues().filter(String).length
    var data1 = sh.getRange(4, 2, n, 7).getValues()

    Logger.log(data)

    sh.getRange(4, 5, sh.getLastRow(), 4).clearContent();
    for (var i = 0; i < data1.length; i++) {
      for (var j = 0; j < data.length; j++) {
        if (data1[i][0] == data[j][0] && data1[i][1] == data[j][1]) {       
          sh.getRange(i+4, 5).setValue(data[j][3])
          sh.getRange(i+4, 6).setValue(data[j][4])
          sh.getRange(i+4, 7).setValue(data[j][5])
          sh.getRange(i+4, 8).setValue(data[j][6])
          break;
        }
      }
    }
  }
}

0 个答案:

没有答案