google-apps-script - 如何使用谷歌脚本将多个范围复制到另一个工作表中的完全相同的位置?

标签 google-apps-script google-sheets

我想将多个范围从一张纸复制到另一张纸。

我尝试过使用 getRangelist 函数,但它似乎不是为此目的而设计的

var rangeList = SpreadsheetApp.getActive().getRangeList(['B2:i8','B10:i16','B18:i24', 'B26:i32', 'B34:i40']);
var copyrange =  SpreadsheetApp
    .getActiveSpreadsheet()
    .getSheetByName("ENTRATE MAIN 2")
    .getRangeList(['B2:i8', 'B10:i16','B18:i24', 'B26:i32', 'B34:i40']);
  rangeList.copyTo(rangelist);

任何将多个范围复制到另一张工作表的智能方法都将受到赞赏。

最佳答案

由于 RangeList 是范围的集合,因此您必须循环遍历该集合并复制每个范围。

function test () {
  try {
    var spread = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = spread.getSheetByName("Sheet1");
    var rlist = sheet.getRangeList(["A1:A5", "B7:B10", "C12:C16"]);
    sheet = spread.getSheetByName("Sheet2");
    for( var i=0; i<rlist.getRanges().length; i++ ) {
      var r1 = rlist.getRanges()[i];
      var r2 = sheet.getRange(r1.getA1Notation());
      r1.copyTo(r2);
    }
  }
  catch(err) {
    Logger.log(err);
  }
}

关于google-apps-script - 如何使用谷歌脚本将多个范围复制到另一个工作表中的完全相同的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57536850/

相关文章:

excel - 将 Excel 文件转换为 Google 表格会破坏带有 HYPERLINK 的公式

regex - 查找所有出现的字符串(最后一个找到的除外)并将其删除

google-apps-script - Google Apps脚本-获取用户的电子邮件地址

function - 在谷歌驱动器上,文件夹是否存在总是返回 false

google-apps-script - “无法从此上下文中调用SpreadsheetApp.getUi()”

javascript - sendemail的Google AppScript语法错误。无法识别我的问题

google-analytics - 通过 Google Analytics 电子表格插件查询用户分割数据

powershell - 如何授权 GAS 编辑 Google 电子表格的范围

google-apps-script - 部署 Google 应用脚本以在未经用户授权的情况下运行

python - 如何使用 gspread 将表格(列表列表)写入 Google 电子表格