0

我正在寻找一个代码来复制我从同一电子表格的另一张表中的一张表中选择单元格的行,在写入的最后一行。代码是这样的:

function CopiarFila() {

//declaration of sheets

var ss = SpreadsheetApp.openById("ID");

var sheet = ss.getSheetByName("FORD 2019");

var sheetTo = ss.getSheetByName("FORD 2019-F");

//declaration of variables

var row = sheet.getActiveCell().getRow();

var range1 = sheet.getRange("B"+row+":B"+row).getValues();
var range2 = sheet.getRange("C"+row+":C"+row).getValues();
var range3 = sheet.getRange("F"+row+":F"+row).getValues();
var range4 = sheet.getRange("I"+row+":I"+row).getValues();


//declaration of the last row from the new sheet

var ultimaFila = sheetTo.getLastRow();

//adding a row after the last one

sheetTo.insertRowsAfter(ultimaFila, 1); 

//copying values to the last row

sheetTo.getRange("B"+ultimaFila+":B"+ultimaFila).setValues(range1);
sheetTo.getRange("D"+ultimaFila+":D"+ultimaFila).setValues(range2);
sheetTo.getRange("C"+ultimaFila+":C"+ultimaFila).setValues(range3);
sheetTo.getRange("H"+ultimaFila+":H"+ultimaFila).setValues(range4);`



}

正如我在运行代码时看到的那样,创建了行,因此问题不在于命令:Sheet、SheetTo 和 ultimaFila。我是否正确使用命令'.getValues('?

我被卡住了,我找不到解决方法。谢谢您的帮助!

4

1 回答 1

0

如果您不介意空白列,有一种更简单的方法可以做到这一点,

var ss1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("FORD 2019");
var ss2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("FORD 2019-F");

ss1.getRange("B:B").copyTo(ss2.getRange("B:B"));
ss1.getRange("C:C").copyTo(ss2.getRange("D:D"));
ss1.getRange("F:F").copyTo(ss2.getRange("C:C"));
ss1.getRange("I:I").copyTo(ss2.getRange("H:H"));
于 2019-05-14T15:40:01.463 回答