在宏中使用getRange中的变量,将行的范围复制到其他带有可变目标的Google表中,可以通过以下步骤实现:
SpreadsheetApp.getActiveSpreadsheet()
方法获取当前活动的Google表格,然后使用getSheetByName()
方法获取指定的工作表。var sourceSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("源表格名称");
var targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("目标表格名称");
getRange()
方法指定要复制的行范围。在这个范围内,可以使用变量来表示行号。var startRow = 2; // 起始行号
var endRow = 10; // 结束行号
var sourceRange = sourceSheet.getRange(startRow, 1, endRow - startRow + 1, sourceSheet.getLastColumn());
getRange()
方法指定要粘贴的目标范围。在这个范围内,可以使用变量来表示行号。var targetStartRow = 5; // 目标起始行号
var targetEndRow = targetStartRow + (endRow - startRow); // 目标结束行号
var targetRange = targetSheet.getRange(targetStartRow, 1, targetEndRow - targetStartRow + 1, targetSheet.getLastColumn());
copyTo()
方法将源范围复制到目标范围。sourceRange.copyTo(targetRange);
完整的代码示例:
function copyRowsToTargetSheet() {
var sourceSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("源表格名称");
var targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("目标表格名称");
var startRow = 2; // 起始行号
var endRow = 10; // 结束行号
var sourceRange = sourceSheet.getRange(startRow, 1, endRow - startRow + 1, sourceSheet.getLastColumn());
var targetStartRow = 5; // 目标起始行号
var targetEndRow = targetStartRow + (endRow - startRow); // 目标结束行号
var targetRange = targetSheet.getRange(targetStartRow, 1, targetEndRow - targetStartRow + 1, targetSheet.getLastColumn());
sourceRange.copyTo(targetRange);
}
这样,宏就会将源表格中指定范围的行复制到目标表格中的指定范围,同时保留目标表格中其他行的数据。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云