将数据范围剪切并粘贴到另一张纸的底部

时间:2018-08-23 18:58:49

标签: javascript google-apps-script google-sheets copy-paste

我是google app脚本的新手,不确定如何解决此问题。

我有两张纸,“主要”和“提取”。整天将数据粘贴到“提取”表中,进行清理(脚本删除某些列,并删除“主”表的A列中还存在A列的值的行),然后将其添加到“主” ”工作表,其中包含整天提取的所有清理后的提取物。

我正在尝试编写一个脚本,该脚本将使用“提取”表中的所有清理数据,并将其剪切并粘贴到“主”表中的最后一行下面。

清理后,“提取”表始终具有8列(A-H),但是每次的行数都不同。我不需要将标题或第8列(H)粘贴到“ Main”表上,仅需要A2:G(在数据的最后一行停止)。

到目前为止,这是我所能想到的(这很可能是错误的)

var data = sheet.getDataRange().getValues()
.offset(0, 0, 1);

1 个答案:

答案 0 :(得分:0)

我相信这就是您要尝试的事情。

var spread = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spread.getSheetByName("Extract");
// skip row 1 (header) and beyond column G
var range = sheet.getRange(2,1,sheet.getLastRow()-1,7);
sheet = spread.getSheetByName("Main");
var rows = sheet.getRange(1,1,sheet.getLastRow(),1).getValues();
// search for first blank row column 1
for( var i=0; i<rows.length; i++ ) {
  if( rows[i][0] === "" ) {
    var offset = sheet.getRange(1,1).offset(i,0);
    range.copyTo(offset);
    break;
  }
}