繁体   English   中英

从源工作表向目标工作表中添加多行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM