Привет! Подскажите, пожалуйста, можно как-нибудь научить макрос перемещать данные в разные ячейки в зависимости от даты (или привязать к ячейке, где изменяющиеся значения от 1 до 31)?
P.S. в моем случае ячейка с датой — m4
Макрос:
function myFunction1() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('C3:G3').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Табличка для данных'), true);
spreadsheet.getRange('\'Лист2\'!C3:G3').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Лист2'), true);
spreadsheet.getRange('C4:G4').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Табличка для данных'), true);
spreadsheet.getRange('I42:M42').activate();
spreadsheet.getRange('\'Лист2\'!C4:G4').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Лист2'), true);
spreadsheet.getRange('C5:G5').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Табличка для данных'), true);
spreadsheet.getRange('P42:T42').activate();
spreadsheet.getRange('\'Лист2\'!C5:G5').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Лист2'), true);
spreadsheet.getRange('C6:G6').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Табличка для данных'), true);
spreadsheet.getRange('W42:AA42').activate();
spreadsheet.getRange('\'Лист2\'!C6:G6').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Лист2'), true);
spreadsheet.getRange('C7:G7').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Табличка для данных'), true);
spreadsheet.getRange('AD42:AH42').activate();
spreadsheet.getRange('\'Лист2\'!C7:G7').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Лист2'), true);
spreadsheet.getRange('C8:G8').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Табличка для данных'), true);
spreadsheet.getRange('AK42:AO42').activate();
spreadsheet.getRange('\'Лист2\'!C8:G8').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Лист2'), true);
spreadsheet.getRange('C9:G9').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Табличка для данных'), true);
spreadsheet.getRange('AR42:AV42').activate();
spreadsheet.getRange('\'Лист2\'!C9:G9').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Лист2'), true);
spreadsheet.getRange('C10:G10').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Табличка для данных'), true);
spreadsheet.getRange('AY42:BC42').activate();
spreadsheet.getRange('\'Лист2\'!C10:G10').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Лист2'), true);
spreadsheet.getRange('C11:G11').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Табличка для данных'), true);
spreadsheet.getRange('BF42:BJ42').activate();
spreadsheet.getRange('\'Лист2\'!C11:G11').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Лист2'), true);
spreadsheet.getRange('C12:G12').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Табличка для данных'), true);
spreadsheet.getRange('BM42:BQ42').activate();
spreadsheet.getRange('\'Лист2\'!C12:G12').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
};
Таблица для примера: