Boa tarde!
Tenho uma planilha no google sheets, nela tem duas abas "Dados e Filtro"; na aba filtro eu faço uma query que retorna informação pela Grupo, status, data inicial e Data final.
Esse é a Query: =QUERY(DADOS!A1:G;"SELECT A,D,E,F WHERE B = '"&A2&"' and D ='"&B2&"' and E >= date '"&TEXTO(C2;"yyyy-MM-dd")&"' and F <= date '"&TEXTO(D2;"yyyy-MM-dd")&"' ";1)
Aba Dados
Criei uma macro com base nas informações que a Query me retorna, onde copia os dado da horizontal e cola na vertical, eu gostaria de um auxílio para verificar uma maneira de deixar o script menos extenso. Abaixo código da macro no google sheets:
function Macro2() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('B4').activate();
spreadsheet.getRange('F4').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getRange('B5').activate();
spreadsheet.getRange('G4').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getRange('B6').activate();
spreadsheet.getRange('H4').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getRange('B7').activate();
spreadsheet.getRange('I5').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getRange('B9').activate();
spreadsheet.getRange('F5').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getRange('B10').activate();
spreadsheet.getRange('G5').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getRange('B11').activate();
spreadsheet.getRange('H5').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getRange('B12').activate();
spreadsheet.getRange('I5').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getRange('B14').activate();
spreadsheet.getRange('F6').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getRange('B15').activate();
spreadsheet.getRange('G6').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getRange('B16').activate();
spreadsheet.getRange('H6').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
spreadsheet.getRange('B17').activate();
spreadsheet.getRange('I6').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
};
Abaixo imagem de como precisaria ser o layout das informações:
Desde agradeço ajuda dos colegas.