将选择性数据从主工作表复制到另一个工作表,添加到主工作表的行

时间:2018-04-06 14:43:24

标签: google-apps-script google-sheets

我有一张使用表单填充的主表。 现在我想将第0,6,9,10,15列中的内容复制到另一个电子表格中。 所以,我有以下代码 -

function myFunction() {
  var ss=SpreadsheetApp.openById("1o8_hOUvPG254AFm61lz9Qn1_HwxMUSI-WM");
  var sht=ss.getSheetByName('Clientsheet');
  var rng=sht.getDataRange();
  var rngA=rng.getValues();
  var row=rngA[rngA.length-1];
  var stock=SpreadsheetApp.openById("1N-2BN3-4HHdpMWso58ndJGGaEugWCaP6fleT4");
  var ssht=stock.getSheetByName('Outward Details');
  var lstrow= ssht.getLastRow();
  var nxtrow= lstrow+1;
  ssht.getRange('nxtrow, 1').setValue(row[0]); //date
  ssht.getRange('nxtrow, 2').setValue("Module");
  ssht.getRange('nxtrow, 3').setValue(row[6]);
ssht.getRange('nxtrow +1, 1').setValue(row[9]);
ssht.getRange('nxtrow +1, 2').setValue(row[10]);
ssht.getRange('nxtrow +1, 3').setValue(row[15]);
 SpreadsheetApp.flush();
}

此代码在第11行产生Range not found错误。 请帮助我了解我出错的地方。

1 个答案:

答案 0 :(得分:2)

您无法使用ssht.getRange('nxtrow, 1').setValue(row[0]);,因为nxtrow是一个变量,但您将其作为字符串传递。请改用:

ssht.getRange(nxtrow, '1').setValue(row[0]);