google-apps-script - 有没有办法在谷歌工作表上选择一组特定的单元格并将它们复制到另一个工作表?
问题描述
我在电子表格中有两张工作表。
电子表格 1 使用进入主列表的新数据进行更新。电子表格 2 是主列表。
每周电子表格 1 获取新数据,从 B2 到 B(N) 的长度可能在 30 到 50 个条目之间,这取决于一周内收集了多少数据。
主列表包含所有以前的数据条目。
我正在寻找一个脚本,从电子表格 1 中选择“B”列中的所有新数据,复制它们并将值仅粘贴到“C”列的主列表末尾。
我已经用一个单独的脚本达到了这一点,它只选择主表并在填充数据后选择一个单元格:(例如,如果主列表有 400 个条目,它会选择单元格 401)。
任何关于这方面的指导都会很棒
function jump() {
//Moves to the masterlist sheet and finds the last row filled with data and moves down by one
var ss = SpreadsheetApp.getActiveSpreadsheet();
var activeSheet = ss.getSheetByName('masterlist'); //source sheet
var obSheet = SpreadsheetApp.getActive();
activeSheet.activate() //Move to the source sheet
//Move to the last filled row w/data and go down by 1
var values = activeSheet.getRange("C:C").getValues();
var maxIndex = values.reduce(function(maxIndex, row, index) {
return row[0] === "" ? maxIndex : index;
}, 0);
activeSheet.setActiveRange(activeSheet.getRange(maxIndex + 2, 3));
};
解决方案
function AWayToCopyDataFromOneRangeToAnother() {
const ss=SpreadsheetApp.getActive();
const sh1=ss.getSheetByName('Sheet1');
const sh2=ss.getSheetByName('Sheet2');
sh2.clear();
const rg1=sh1.getRange(1,1,sh1.getLastRow(),sh1.getLastColumn());
const rg2=sh2.getRange(1,1);
rg1.copyTo(rg2);
}
function AWayToCopyDataFromOneRangeToAnotherSpreadSheetValuesOnly() {
const ss=SpreadsheetApp.getActive();
const sh1=ss.getSheetByName('Sheet1');
const ss2=SpreadsheetApp.openById('1VsHWPCWE6Xz4BLjVK89rnonBZO-8tK5HW_O-mMwFe54');
const sh2=ss2.getSheetByName('Sheet2');
sh2.clear();
const rg1=sh1.getRange(1,1,sh1.getLastRow(),sh1.getLastColumn());
const vs1=rg1.getValues();
sh2.getRange(sh2.getLastRow()+1,1,vs1.length,vs1[0].length).setValues(vs1);
}
推荐阅读
- java - Feign Client 无法将响应 json 转换为 Java Object,因为开头的字符无效
- ruby-on-rails - rails simple_form remote: true 不显示验证错误
- cassandra - 从 Apache Cassandra 中选择元组项
- eclipse - 动态创建 MPart 时如何添加 ToolControl?
- python - 了解 RSA 广播攻击
- json.net - 将 JSON 反序列化为包含自定义 C# 对象的对象
- java - FlatFileItemReader 使用 FixedLengthTokenizer 不起作用
- javascript - 在 knexjs mysql 中取联合多列后总和不起作用
- python - Python 随机选择行直到满足条件
- angular - Angular 7,POST 到 .NET Core Web API 发送 NULLS