Скопируйте и вставьте в следующий столбец последнюю строку (GOOGLE SCRIPT)

#google-apps-script #copy-paste

#google-apps-script #копировать-вставить

Вопрос:

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

 function CopyPasteFrTo() {
  var ss=SpreadsheetApp.getActive();
  var shfr=ss.getSheetByName('From');
  var shto=ss.getSheetByName('To');
  shfr.getRange('A1:N').copyTo(shto.getRange("A1"), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
  shfr.getRange('A2:F').copyTo(shto.getRange(shto.getLastRow() 1,1), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
  shfr.getRange('K2:N').copyTo(shto.getRange(shfr.getLastColumn() 1,7), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
  shfr.getRange('G2:J').copyTo(shto.getRange(shfr.getLastColumn() 1,11), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
};
 

смотрите пример здесь

Комментарии:

1. К сожалению, я не могу понять вашу текущую проблему и вашу цель из вашего образца изображения. Я прошу прощения за мой плохой английский. Могу я спросить вас о деталях этого? И когда я увидел ваш образец изображения, мне показалось, что вы хотите скопировать значения на том же листе. Но когда я увидел ваш скрипт, вы захотели скопировать значения с листа «From» на лист «To». Из-за этого я не могу понять вашу цель. Я приношу свои извинения за это.

2. Предположив вашу цель, я предлагаю примерный сценарий в качестве ответа. Не могли бы вы, пожалуйста, подтвердить это? Если я неправильно понял вашу цель, я прошу прощения.

3. Показал ли мой ответ вам результат, которого вы хотите? Не могли бы вы, пожалуйста, рассказать мне об этом? Это тоже полезно для меня, чтобы учиться. Если это сработает, другие люди, у которых есть такая же проблема с вами, также могут сформулировать ваш вопрос как вопрос, который можно решить. Если у вас еще есть вопросы к моему ответу, я приношу свои извинения. В это время могу я спросить вас о вашей нынешней ситуации? Я хотел бы учиться, чтобы решить ваши проблемы.

Ответ №1:

Я считаю, что ваша цель заключается в следующем.

  • Когда я увидел ваш образец изображения, кажется, что вы хотите скопировать значения на том же листе. Но когда я увидел ваш скрипт, вы хотите скопировать значения из «Из» в «В» лист. Исходя из этой ситуации, я хотел бы верить вашей цели в качестве образца изображения.
  • В вашем образце изображения для того же листа,
    • Вы хотите скопировать ячейки «A2: F» (последняя строка диапазона данных.) в столбец «A» следующей строки последней строки.
    • Вы хотите скопировать ячейки «K2: N» (последняя строка диапазона данных.) в столбец «G» следующей строки последней строки.
    • Вы хотите скопировать ячейки «G2: J» (последняя строка диапазона данных.) в столбец «K» следующей строки последней строки.
    • Ваш образец изображения выглядит следующим образом (это из вашего вопроса.).

Пример сценария:

 function myFunction() {
  const sheetName = "Sheet1";  // Please set the sheetname.

  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
  const lastRow = sheet.getLastRow();
  sheet.getRange("A2:F"   lastRow).copyTo(sheet.getRange("A"   (lastRow   1)));
  sheet.getRange("K2:N"   lastRow).copyTo(sheet.getRange("G"   (lastRow   1)));
  sheet.getRange("G2:J"   lastRow).copyTo(sheet.getRange("K"   (lastRow   1)));
}
 

Ссылка: