![](/img/trans.png)
[英]Google Sheet - Copy Rows from Multiple Sheets into a Single Summary Sheet
[英]Appending multiple rows from a source sheet to a destination sheet in Google Sheets
我正在使用此旧线程中的代码来复制源工作表中的一系列单元格,并将它们粘贴到目标工作表的最后一行。
https://support.google.com/docs/forum/AAAABuH1jm04B0WxqiEJns/?hl=en&gpf=%23!topic%2Fdocs%2F4B0WxqiEJns
建议的代码将数据复制并粘贴到同一张纸上,因此我尝试(失败了)对其进行修改:
function appendEagleData() {
var ss = SpreadsheetApp.getActive();
var sh = ss.getSheetByName("Eagle New Rows");
var dest = ss.getSheetByName("Eagle Static Data")
var source = sh.getRange("A4:J20");
var v = source.getValues();
dest.getRange(dest.getLastRow() + 1, 1, v.length, v[0].length).setValues(v);
}
...很明显,我有点不了解我。 任何帮助,将不胜感激。
function appendEagleData() {
var ss=SpreadsheetApp.getActive();
var sh1=ss.getSheetByName("Eagle New Rows");
var rg1=sh1.getRange(4,1,sh1.getLastRow()-3,10);
var sh2=ss.getSheetByName("Eagle Static Data")
var rg2=sh2.getRange(sh2.getLastRow()+1,1);
rg1.copyTo(rg2);
}
尝试这个:
function appendEagleData() {
var ss=SpreadsheetApp.getActive();
var sh1=ss.getSheetByName("Eagle New Rows");
var rg1=sh1.getRange(4,1,getColumnHeight(2,sh1,ss)-3,10);
var sh2=ss.getSheetByName("Eagle Static Data")
var rg2=sh2.getRange(sh2.getLastRow()+1,1);
rg1.copyTo(rg2);
}
function getColumnHeight(col,sh,ss){
var ss=ss || SpreadsheetApp.getActive();
var sh=sh || ss.getActiveSheet();
var col=col || sh.getActiveCell().getColumn();
var rg=sh.getRange(1,col,sh.getLastRow(),1);
var vA=rg.getValues();
while(vA[vA.length-1][0].length==0){
vA.splice(vA.length-1,1);
}
return vA.length;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.