Как скопировать последнюю строку из листа Google и скопировать в последнюю строку другого листа Google - PullRequest
0 голосов
/ 20 апреля 2019

Я пробовал каждый пример и работал над этим в течение нескольких дней, спасибо за любую помощь.Я просто хочу скопировать последний ряд с одного листа и скопировать его в последний ряд другого листа.В этом последнем примере копируются все строки, а не только последняя.

Я пробовал каждый пример и пример, который мог найти без успеха.

function lastrow2() {
var source = SpreadsheetApp.openById('MY ID');
var sourcesheet = source.getSheetByName('sheet1');
var target = SpreadsheetApp.openById('MY ID')
var targetsheet = target.getSheetByName('sheet2');
var targetrange = targetsheet.getRange(1, 1, sourcesheet.getLastRow(), 
sourcesheet.getLastColumn());
var rangeValues = sourcesheet.getRange(1, 1, sourcesheet.getLastRow(), 
sourcesheet.getLastColumn()).getValues();
targetrange.setValues(rangeValues); 
}

Я ожидал получить только последнюю строкуиз исходного листа и скопируйте его в последнюю строку целевого листа, вместо этого он копирует все строки.

Ответы [ 2 ]

0 голосов
/ 20 апреля 2019

Копировать последнюю строку одной электронной таблицы в последнюю строку другой электронной таблицы

Ни одна электронная таблица не является контейнером сценариев в моих тестах

Но один из них мог быть.

function copyLastToLast() {
  var sss=SpreadsheetApp.openById('1u1d-eJVnR_UdAY_1ZnuF0kF3LLdnq30XIKW3wnQSFCY');
  var ssh=sss.getSheetByName('Sheet1');
  var srg=ssh.getRange(ssh.getLastRow(),1,1,ssh.getLastColumn());
  var svA=srg.getValues();
  var tss=SpreadsheetApp.openById('13hXYw9wrZtIi2OayGGurD2qOXZLaNcEZoculd179B_0');
  var tsh=tss.getSheetByName('sheet2');
  if(tsh.getLastRow()) {
    tsh.getRange(tsh.getLastRow(),1,1,svA[0].length).setValues(svA);
  }else{
    tsh.getRange(1,1,1,svA[0].length).setValues(svA);
  }
}
0 голосов
/ 20 апреля 2019
  • Вы хотите скопировать значения последней строки Листа1 в последнюю строку Листа 2.

Если мое понимание верно, как насчет этой модификации?

С:

var targetrange = targetsheet.getRange(1, 1, sourcesheet.getLastRow(), sourcesheet.getLastColumn());
var rangeValues = sourcesheet.getRange(1, 1, sourcesheet.getLastRow(), sourcesheet.getLastColumn()).getValues();

Кому:

var targetrange = targetsheet.getRange(targetsheet.getLastRow() + 1, 1, 1, sourcesheet.getLastColumn());
var rangeValues = sourcesheet.getRange(sourcesheet.getLastRow(), 1, 1, sourcesheet.getLastColumn()).getValues();

Примечание:

Если вы хотите перезаписать последнюю строку Sheet2, измените значение с targetsheet.getRange(targetsheet.getLastRow() + 1, 1, 1, sourcesheet.getLastColumn()) на targetsheet.getRange(targetsheet.getLastRow(), 1, 1, sourcesheet.getLastColumn()).

Ссылка:

Если я неправильно понял ваш вопрос, скажи пожалуйста.Я хотел бы изменить его.

Редактировать:

Из вашего комментария, как насчет этой модификации?

От:

var targetsheet = targetsheet.getRange(targetsheet.getLastRow(), 1, 1, sourcesheet.getLastColumn());

Кому:

var targetrange = targetsheet.getRange(targetsheet.getLastRow() || 1, 1, 1, sourcesheet.getLastColumn());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...