Не удается найти ошибку в коде CopyRow из Google Sheets

Я ищу код для копирования 4 ячеек для строки, в которой я выбрал ячейку с одного листа с другого листа той же электронной таблицы, в последней написанной строке. Код такой:

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('?

Я застрял, и я не могу найти способ исправить это. Спасибо за помощь!


person DAVID MORENO VALLS    schedule 13.05.2019    source источник
comment
Могу ли я спросить вас о подробной информации о вашей проблеме? И могу я спросить вас о the last row, о котором вы думаете? Потому что в вашем скрипте последняя строка листа FORD 2019-F перезаписывается. Если это результат, который вы хотите, это не проблема.   -  person Tanaike    schedule 14.05.2019


Ответы (1)


ЕСЛИ вы не возражаете против пустых столбцов, есть более простой способ сделать это,

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"));
person AsiaBoba    schedule 14.05.2019
comment
Привет, проблема в том, что мне нужно скопировать 4 ячейки из выбранной строки, а не всю строку. - person DAVID MORENO VALLS; 17.05.2019