Скопируйте данные вставки в нижнюю последнюю строку на другом листе с помощью листов Google. - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь, чтобы скрипт работал, в котором значения из указанного диапазона c вставляются на другой лист в указанном диапазоне c. Проблема заключается в том, что не всегда используется весь диапазон входного листа, и при следующем использовании функции данные вставляются ниже ранее пустых ячеек, см. Рисунок. У кого-нибудь есть идеи?

Database skips n lines that are not filled in with data in the input sheet


    function submitData2() {
      var ss = SpreadsheetApp.getActiveSpreadsheet()
      var database = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Data Logboek");
      var source = ss.getSheetByName('Logboek Melding');
      var dataToCopy = source.getRange('B2:J11');

      var lastRow = database.getLastRow();

      database.getRange('\'Logboek melding\'!B2:J11')
      .copyTo(SpreadsheetApp.getActiveSpreadsheet()
      .getSheetByName("Data Logboek").getRange(lastRow + 1,1)
       ,SpreadsheetApp.CopyPasteType.PASTE_VALUES, false); 
        }

1 Ответ

0 голосов
/ 04 мая 2020

Соображения

Ваш процесс копирования выглядит запутанным:

  1. Вы выбираете диапазон в своей базе данных листа, используя нотацию A1, но вы ссылаетесь на другой лист.
  2. У вас уже есть лист Data Logboek, сохраненный в переменной database, нет необходимости снова получать его из SpreadsheetApp.
  3. Если направление копирования равно source -> database, вам следует вызвать toCopy на диапазон source не наоборот.

Решение

Используя объявление переменной, вы можете перевести ваш процесс копирования в следующее:

var dataToCopy = source.getRange('A1Notation'); // Source data to copy on database

dataToCopy.copyTo(
    database.getRange(lastRow + 1, 1), // Destination
    SpreadsheetApp.CopyPasteType.PASTE_VALUES, // Copy Paste Type
    false // Transpose
);

Ссылка

copyTo ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...