首页 > 解决方案 > 将值从一个工作簿粘贴到另一个工作簿底部的脚本 - 谷歌表格

问题描述

我正在编写一个脚本以从一个工作簿(我的活动电子表格)中获取一个范围并将其传递到另一个每天,因此这些值将聚合到底部,因此不会覆盖前几天的任何内容。

我已经将值粘贴到另一个工作簿,但它们从第 30 行开始粘贴(并向下工作),而不是在顶部(当前为第 2 行)标识表的末尾并从第 3 行开始。

最终 32 个工作簿将写入此表,因此它们能够识别底部是很重要的。

你能看出我在这里有什么问题吗?

  var inputRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2").getRange("D13:I13");
  var inputValues = inputRange.getValues();
  var last = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getLastRow();
  var tss = SpreadsheetApp.openById('1aNmmEVQbdWTcnbbrHb7ZWMtodPOHpQu-XNy55_ZZVLc');
  var ts = tss.getSheetByName('Sheet1');
  var outputRange = ts.getRange(last+1,1,1,6);
  outputRange.setValues(inputValues);
  saveAsCSV();

标签: google-apps-scriptgoogle-sheetscustom-function

解决方案


尝试这个:

function runOne() { 
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Sheet2');
  var rg=sh.getRange("D13:I13");
  var vA=rg.getValues();
  var tss=SpreadsheetApp.openById('1aNmmEVQbdWTcnbbrHb7ZWMtodPOHpQu-XNy55_ZZVLc');
  var tsh=tss.getSheetByName('Sheet1');
  var trg=tsh.getRange(tsh.getLastRow()+1,1,1,6);
  trg.setValues(vA);
}

推荐阅读