google-apps-script - getRange 和 setRange 未正确粘贴
问题描述
我正在使用 GAS 来跟踪我的工资。每周,我需要将文件夹 A 中的工作表 A 中的 1X3 数组复制到文件夹 B 中工作表 B 的最后一行,以创建“时间轴”。我从代码中提取了关于 SO 的类似问题的答案。这是我正在使用的代码:
// source spreadsheet
var srcSpreadSheet = SpreadsheetApp.getActiveSpreadsheet();
var srcSheet = sourceSpreadSheet.getSheets()[0];
// destination spreadsheet
var payDestSpreadSheet = SpreadsheetApp.openById('10kFR2EPO4R--------------------');
var payDestSheet = payDestSpreadSheet.getSheets()[0]; // This is the first sheet
// get the contents of a range in srcSheet
var range = srcSheet.getRange(212,3,1,3); // This is the range C212:E212
var values = range.getValues();
// place the value(s) in the last row of the destination sheet
var lastRow = payDestSheet.getLastRow();
payDestSheet.getRange(lastRow + 1,1,1,3).setValue(values);
我正在犯一个简单但基本的“菜鸟”错误。该脚本反映了这一点,因为只有第一个值(只有单元格 C212,而不是 C212:E212 的 3 个单元格范围)被粘贴到目标工作表。我想我已经盯着这个太久了,因为这一切都不再有意义了。
有人愿意(轻轻地)让我回到正轨吗?
解决方案
将最后一行更改为:payDestSheet.getRange(lastRow + 1,1,1,3).setValues(values);
推荐阅读
- reactjs - 任何内置的反应模块,如 ReactTable、react-router 等都不能在我的反应应用程序中工作。我该如何解决?吨
- javascript - 单击 React JS 中的任何链接时如何防止重定向到顶部
- javascript - 在使用赛普拉斯进行测试时,有没有办法可以防止下载
- javascript - On Scroll - 添加类 - 对于页面上的每个元素
- node.js - Nodejs Redis Scan不返回所有项目
- c++ - 如何将“IF CONDITION”重写为 ON 3 分钟和 OFF 10 分钟直到 4 小时(240 分钟)
- android - ViewModel 和 LiveData 观察者未调用
- google-cloud-dataflow - CDAP DataFusion GET 管道运行无效 IAP 凭证错误
- spring - 基于 Java 的 ETL 应用程序
- perl - Perl - 匹配文件中的开始/结束字符串