发布于 2022-08-12 09:19:51
实际上,有多种方法可以使用内置的方法来实现这一点,而不是手动的。最简单的方法是使用copyTo()
。这会将您提到的所有内容从源范围复制到目的地。下面是一个简单的示例,说明它是如何工作的:
//Replicate rangeA on rangeB
let ss = SpreadsheetApp.getActiveSpreadsheet();
let source = ss.getSheetByName("Sheet1")
let destination = ss.getSheetByName("Sheet2");
let rangeA = source.getRange("A1:A5");
let rangeB = destination.getRange("A1");
rangeA.copyTo(rangeB);
正如文档中提到的,只有目标区域中的左上角单元格位置是相关的,因此您只需要指定单个单元格,该方法将相应地展开复制的数据。
如果您需要缩小需要复制的范围,还有其他方法只需复制某些部分,对于格式化而言,您可以使用copyFormatToRange()
,对于值您可以使用copyValuesToRange()
,对于数据验证,您首先需要用getDataValidations()
获得它们,然后用setDataValidations()
单独设置它们。公式与getFormulas()
与setFormulas()
类似,依此类推。
我建议您查看文档以获得更多的代码示例。Range对象实际上有许多有用的方法来操作范围:
https://stackoverflow.com/questions/73331715
复制相似问题