Архивация и создание нового листа

Я совершенно не сильна в программировании и прошу помочь. Можно ли сделать так чтобы каждый месяц по клику создавался новый лист со старым форматированием, а уже неактивный сохранялся, но без привязки ссылок. так как я уже применила к нему =IMPORTRANGE. И мне нужно, чтобы в конце месяца все данные просто оставались и не были уже привязаны к другим таблицам. Надеюсь что-нибудь понятно.


Ответы (1 шт):

Автор решения: rotabor

Алгоритм примерно такой:

  1. Скопировать лист, переименовать копию.
  2. На старом листе скопировать ячейки в буфер и вставить на то же место только значения. Или скопировать значения в массив и записать массив обратно в ячейки.
function myFunction1() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.duplicateActiveSheet();
  spreadsheet.getActiveSheet().setName('Новый месяц');
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Лист1'), true);
  spreadsheet.getRange('A1').copyTo(spreadsheet.getRange('A1'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
};

Исправьте 'Новый месяц' на нужное вам имя и 'A1' на нужный вам диапазон.

→ Ссылка