任何人都可以帮忙。

昨晚午夜之后,我的脚本开始出错,提示出现主题错误。

我已经粘贴了下面的代码,但是从本质上讲,它从一个工作表中提取数据,并在另一个工作表中进行填充。如果有帮助,很高兴提供指向测试数据的链接。

提前致谢

function dBYd() {

  var ss,s1,s2,data,dlabel,hdrs,colnum,data2=[],data3=[],i,hsh=[[4,5],[5,6],[7,7],[10,4],[6,8],[19,14],[20,16],[21,15],[26,13],[31,2],[33,0]];
  // [4,5]..Acc,[5,6]..Cq,[7,7]..DoA,[10,4]..C,[6,8]..CC,[19,14],[20,16],[21,15]..B/E/C,[26,13]..Pm,[31,2]..WU Total, [33,0]..Initials]
  ss=SpreadsheetApp.getActiveSpreadsheet();
  s1=ss.getSheetByName("CS");//<<name of "UI" sheet
  s2=ss.getSheetByName("Admin-2020");//<<name or "Archive" sheet
  data=s1.getDataRange().getValues();//<-------------all the data from the 'Front'sheet
  dlabel=data[0][5];//<------------------------------the date in Front!F1. MUST BE FORMATTED AS DATE
  hdrs=s2.getDataRange().getValues()[0].map(function(x) {return x*1;});//<---the dates in Row1 of Tab2 as numbers
  colnum=hdrs.indexOf(dlabel*1.0)+1;//<--------------the column in Tab2 where the date from Front (as a number) is found
  data=data.map(function(x) {return x[5];});//<------the sixth column (F) of Front
  for (i=0;i<17;i++) data2.push(['']);//<------------a blank array to account for output
  for (i in hsh) data2[hsh[i][1]]=[data[hsh[i][0]]];//<-----------the data from Front for output to Tab2
  data2 = [].concat.apply([], data2);
  var a1 = data2.slice(0,10);
  var a2 = data2.slice(11,17);
  for(var i in a1) a1[i]=[a1[i]];
  for(var i in a2) a2[i]=[a2[i]];
  s2.getRange(2,colnum,a1.length).setValues(a1);
  s2.getRange(13,colnum,a2.length).setValues(a2);

}

最佳答案

请忽略上面的问题。我找到了解决方案。写入值的工作表上有一个错误。

谢谢

关于error-handling - 范围的起始列太小。 (第50行,文件 “Clear Cells”),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60053841/

10-17 02:06