MACRO DE SCRIPT PARA COPIAR: function Copiar() { var planilha = SpreadsheetApp.getActiveSpreadsheet(); var guiaDados = planilha.getSheetByName("Dados"); //ALTERAR var guiaDestino = planilha.getSheetByName("Destino"); //ALTERAR var ultimaLinha = guiaDados.getLastRow(); var dados = guiaDados.getDataRange().getValues(); for (var i = 1; i < dados.length; i++) { //ALTERAR if (!guiaDados.isRowHiddenByFilter(i + 1)) { var linhaInicial = i + 1; break; } } var range = "A" + linhaInicial + ":" + "C" + ultimaLinha; //ALTERAR var linhavazia = guiaDestino.getLastRow() + 1; guiaDados.getRange(range).copyTo(guiaDestino.getRange("A" + linhavazia),SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false); //ALTERAR dados.length = 0; Browser.msgBox("COPIADO COM SUCESSO!"); }
@Douglasdasilvabd942 ай бұрын
Olá, gosto dos seus vídeos... Esse script, eu posso usar ela na planilha sem filtro? Pois eu não estou conseguindo usar ela por conta do "guiaDados.getRange(range)"... Aparece esse erro: "Exception: Unexpected error while getting the method or property copyTo on object SpreadsheetApp.Range." Consegue ajudar?
@CanalSGP2 ай бұрын
Bom dia, provavelmente referência errada, precisa ajustar as referências conforme foi abordado no vídeo, nome de guias, range, etc.
@Douglasdasilvabd942 ай бұрын
@@CanalSGP Fiz os ajustes conforme vídeo, porém acho que deixei passar algo importante... function Arquivar() { var planilha = SpreadsheetApp.getActiveSpreadsheet(); var guiaDados = planilha.getSheetByName("FATURAMENTO"); //ALTERAR var guiaDestino = planilha.getSheetByName("ARQUIVO"); //ALTERAR var ultimaLinha = guiaDados.getLastRow(); var dados = guiaDados.getDataRange().getValues(); for (var i = 1; i < dados.length; i++) { //ALTERAR if (!guiaDados.isRowHiddenByFilter(i + 1)) { var linhaInicial = i + 1; break; } } var range = "A" + linhaInicial + ":" + "I" + ultimaLinha; //ALTERAR var linhavazia = guiaDestino.getLastRow() + 1; guiaDados.getRange(range).copyTo(guiaDestino.getRange("A" + linhavazia),SpreadsheetApp.CopyPasteType.PASTE_VALUE, false); //ALTERAR dados.length = 0;
@CanalSGP2 ай бұрын
Boa tarde, teste um exemplo igual ao do vídeo, depois que funcionar tenta adaptar. Verifique também se está logado em apenas uma conta drive.
@Douglasdasilvabd942 ай бұрын
@@CanalSGP Consegui resolver essa parte, pelo oque entendi a minha planilha tem formatações e formulas em duas colunas. Parece que ele esta copiando tudo, até as formatações que contem formulas, mesmo estando vazias... Você tem alguma sugestão? Pois eu estou tentando arquivar as informações.
@CanalSGP2 ай бұрын
Boa tarde, o script vai considerar a última linha contendo as fórmulas, teste colocar uma função arrayformula, para ter fórmulas apenas nas linhas que tem registros, talvez resolva.