[英]How to Copy a data range from one sheet to another sheet using Google Sheet Script
Disclaimer: I am just new in coding and I just want to automate things up in my work.免责声明:我只是编码方面的新手,我只想在我的工作中实现自动化。
I want to copy a data from 'Data Entry' sheet to another sheet specified by the cell in 'Data Entry' sheet.我想将“数据输入”工作表中的数据复制到“数据输入”工作表中单元格指定的另一个工作表。
here is the code that I am using:这是我正在使用的代码:
function DataEntry() { let spreadSheet = SpreadsheetApp.getActiveSpreadsheet(); let sourceSheet = spreadSheet.getSheetByName('Data Entry'); let sourceRange = sourceSheet.getDataRange(); let sourceValues = sourceRange.getValues(); let rowCount = sourceValues.length(); let columnCount = sourceValues[0].length(); let targetSheet = spreadSheet.getSheetByName('6'); let targetRange = targetSheet.getRange(2,1,rowCount,columnCount); targetRange.setValues(sourceValues); }
In the source sheet, I want to copy the data starting from row 3, column L. (the number of rows varies every data batch)在源工作表中,我想复制从第 3 行,L 列开始的数据。(每个数据批次的行数不同)
Then in the target sheet, which will be specified by a cell in source sheet (cell T2).然后在目标工作表中,将由源工作表中的单元格(单元格 T2)指定。 The pasting should start at row 2, column A.
粘贴应从第 2 行,A 列开始。
function DataEntry() {
let spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
let sourceSheet = spreadSheet.getSheetByName('Data Entry');
let sourceRange = sourceSheet.getDataRange();
let sourceValues = sourceRange.getValues();
let sheetName = sourceValues[1][19];
sourceValues = sourceValues.slice(2).map(row => row.slice(11));
let rowCount = sourceValues.length;
let columnCount = sourceValues[0].length;
let targetSheet = spreadSheet.getSheetByName(sheetName);
let targetRange = targetSheet.getRange(2,1,rowCount,columnCount);
targetRange.setValues(sourceValues);
}
1
and 19
, corresponding to T2
).1
和19
,对应于T2
)。sourceSheet.getRange("L3:L").getValues().flat().filter(String)
), but in this way you are minimizing the amount of calls to the spreasdheet service, which is a good practice .sourceSheet.getRange("L3:L").getValues().flat().filter(String)
),但通过这种方式可以最大限度地减少对 spreasdheet 服务的调用量,这是一个很好的做法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.