有条件复制时设置行目标(Google 表格)



All.

是一个完全的脚本新手,但通过反复试验,我设法调整了我发现的脚本,用于根据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
}

任何帮助都非常感谢。

谢谢

您的DestRange将始终是没有数据的最后一行。因此,例如,如果您的工作表中有B2中的数据,则该函数将复制到第 3 行。有多种方法可以解决这个问题,例如,首先将最后一行放入变量中,如果它小于 7,则使其等于 7

最新更新