首页 > 解决方案 > 将整列(灵活大小)复制到另一个文件

问题描述

function CopyRange() {
 var sss = SpreadsheetApp.openById('AAAAAAAAAAAAAAAAAAAAAAAAAAA'); 
 var ss = sss.getSheetByName('Weight'); 
 var range = ss.getRange('U2:U'); 
 var data = range.getValues();

 var tss = SpreadsheetApp.openById('BBBBBBBBBBBBBBBBBBBBBBBBBBB');
 var ts = tss.getSheetByName('Registros');

 ts.getRange(2, 1).setValues(data);

}

我无法调整脚本以使要复制的列的数据大小灵活,因为初始电子表格数据会随着时间的推移而增长。

我想知道是否有任何方法可以使接收数据的电子表格的 getRange 根据要复制的完整列的范围大小进行调整(如 A2:A 列)。

例子:

要复制的列 (U2:U) 当前有 1800 行,然后将接收值 (A2:A) 的电子表格的 getRange 需要为 1800 行,当它增长时,它会根据需要自动增加。

标签: google-apps-scriptgoogle-sheets

解决方案


像这样的东西:

// if there aren't enough rows, insert some
if(ts.getMaxRows() <= data.length) ts.insertRows(2, data.length);

// find a range of the same size as the source data, then set the values
ts.getRange(2, 1, data.length, data[0].length).setValues(data);

推荐阅读