有条件复制时设置行目的地(谷歌表)

时间:2017-11-08 15:53:39

标签: google-apps-script google-sheets

所有

我是脚本编写的新手,但通过反复试验,设法根据column D的条件调整了我发现的将文档拆分为单独工作表的脚本。

要拆分的工作表名为MASTER,我已经调整了一个脚本,为column D的每个条件创建相关的标签(它们只是数字)。

我无法做的是将要粘贴的数据设置为row 8向下(而不是row 1) - 这是因为我想要每个新的工作表有一个占用前7行的静态标题。可能是一个愚蠢的问题,但我无法弄清楚,如果可以的话会很好。

现有代码是:

var ss=SpreadsheetApp.getActiveSpreadsheet();
var master = ss.getSheetByName('MASTER');
var colWidth = master.getMaxColumns();


function copyRowsOnCondition() {
  var data = master.getDataRange().getValues();
  for(n=7;n<data.length;++n){
    if(data[n][3].length<16){ 
    Logger.log(data[n][3])
     var dest = ss.getSheetByName(data[n][3].toString().replace(/ /g,''));
     var destRange = dest.getRange(dest.getLastRow()+1,1);
     master.getRange(n+1,1,1,colWidth).copyTo(destRange); 
     }
  }// loop
}

任何帮助都非常感激。

由于

1 个答案:

答案 0 :(得分:0)

您的DestRange将始终是没有数据的最后一行。因此,如果您的工作表中包含B2中的数据,则该函数将复制到第3行。有多种方法,例如,将最后一行放入变量中,如果小于7则使其等于7