Добавлять строки из других вкладок без потери форматирования - PullRequest
0 голосов
/ 10 октября 2018

Чтобы организовать набор банковских счетов и выписок по кредитным картам, я загружаю их.Затем я открываю их в Excel или Google Sheets, реорганизую в соответствующие столбцы, помещаю все в одну вкладку (ИТОГО), а затем сортирую.

Теперь вопрос заключается в том, как сделать копию с отдельных листов.Я думаю, что я довольно близок после вставки и повторения (вручную) какой-то функции, которую я нашел при поиске.Проблема в том, что эта функция удаляет все форматирование из исходных строк

Пример листа

Последняя вкладка example_TOTAL помещена туда только, чтобы показать, как я хочу вкладку TOTAL для наблюдения за завершением процесса.

Вот моя функция, которая выполняет большинство, но стирает форматирование (цвета).

function Copy() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); 
  var ss = spreadsheet.getSheetByName('TabA'); //replace with source Sheet tab name
  var range = ss.getRange('A1:L'); //assign the range you want to copy
  var data = range.getValues();
  var ts = spreadsheet.getSheetByName('TOTAL'); //replace with destination Sheet tab name
  ts.getRange(ts.getLastRow()+1, 1, data.length, data[0].length).setValues(data);

  var ss = spreadsheet.getSheetByName('TabB'); //replace with source Sheet tab name
  var range = ss.getRange('A1:L'); //assign the range you want to copy
  var data = range.getValues();
  ts.getRange(ts.getLastRow()+1, 1, data.length, data[0].length).setValues(data);

  var ss = spreadsheet.getSheetByName('TabC'); //replace with source Sheet tab name
  var range = ss.getRange('A1:L'); //assign the range you want to copy
  var data = range.getValues();
  ts.getRange(ts.getLastRow()+1, 1, data.length, data[0].length).setValues(data);

  var ss = spreadsheet.getSheetByName('TabD'); //replace with source Sheet tab name
  var range = ss.getRange('A1:L'); //assign the range you want to copy
  var data = range.getValues();
  ts.getRange(ts.getLastRow()+1, 1, data.length, data[0].length).setValues(data);
}

function copyFromTo () {

  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();

  var ss = spreadsheet.getSheetByName('TabA');
  var copy = ss.getRange('A1:L');

  var target = spreadsheet.getSheetByName('TOTAL');
  var dest = target.getRange('A1:L');

  copy.copyTo(dest);
  var ss = spreadsheet.getSheetByName('TabB');
  var copy = ss.getRange('A1:L');
  copy.copyTo(dest);
  var ss = spreadsheet.getSheetByName('TabC');
  var copy = ss.getRange('A1:L');
  copy.copyTo(dest);
  var ss = spreadsheet.getSheetByName('TabD');
  var copy = ss.getRange('A1:L');
  copy.copyTo(dest);

}

Как добавить эти листы и сохранить форматирование?

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