O meu estava vindo uma hora atrasada, aí tentei no método comum lá descrito porém não consegui, mas na parte que estava escrito var hora = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "hh:mm:ss a"); troquei por var hora = Utilities.formatDate(new Date(),("GMT-03:00"), "HH:mm:ss a"); nos dois, tanto na primeira parte quando na segunda var data = Utilities.formatDate(new Date(), ("GMT-03:00"), "dd/MM/yyyy")
function onEdit() { var guiaativa = SpreadsheetApp.getActive().getSheetName();
if(guiaativa != "ATIVO"){ return false; } var guia = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("ATIVO"); var linha = guia.getActiveCell().getRow(); var coluna = guia.getActiveCell().getColumn();
if(coluna == 6){ if (linha > 2){ var celulahora = guia.getRange(linha, 8).getValue(); var produto = guia.getRange(linha, 6).getValue(); if(produto != "" ){ // if(celulahora == ""){ var hora = Utilities.formatDate(new Date(),("GMT-03:00"), "HH:mm:ss a"); // caso a hora tenha uma hora a menos, desative a linha anterior e ative as linhas de código abaixo //var d = new Date("GMT-02:00"); //var hora = d.toLocaleTimeString("GMT-03:00"); var data = Utilities.formatDate(new Date(), ("GMT-03:00"), "dd/MM/yyyy"); guia.getRange(linha, 7).setValue(hora); guia.getRange(linha, 8).setValue(data); // } }else{ guia.getRange(linha, 7).setValue(""); guia.getRange(linha, 8).setValue(""); } } } }
Boa tarde, ótimo vídeo mas não era exatamente o que eu estava procurando, gostaria de saber o que deveria ser feito ou se tem esse conteúdo em outro vídeo para o caso de a data atualizar automaticamente sempre que o valor presente na célula for atualizado, no caso um valor que é atualizado automaticamente através de outras fórmulas
Professor, obrigada pela aula. Vamos ver se consegue me ajudar, estou precisando inserir outro campo de hora. Consegui fazer a hora de entrada, mas não consigo fazer o horário de saída. Será que poderia me ajudar, por favor.
Bom dia, verifique se foi ajustado no if das colunas para acionar o script , se está considerando a digitação em outra coluna para inserir a hora de saída.
Bom dia, teste alterar a linha de código a seguir: var hora = Utilities.formatDate(new Date(), Session.getScriptTimeZone(),"hh:mm:ss a"); Por: var planilha = SpreadsheetApp.getActiveSpreadsheet(); var hora = Utilities.formatDate(new Date(), planilha.getScriptTimeZone(),"hh:mm:ss a"); Desta forma acredito que vai pegar a hora de acordo com o fuso horário da planilha.
Muito bom o vídeo e a explicação! Só teve uma questão que quando eu insiro qualquer outra informação na planilha, a hora vai atualizando a cada edição. Teria alguma forma de travar ela para fixar a hora que o dado foi setado?
Olá, queria saber se tem como fazer um script que mude a cor da guia que está atualmente aberta, para que ela fique destacada das demais. Se puder me ajudar, eu ficaria muito grato...
Boa tarde. No exemplo usado, na coluna "E" é inserido automaticamente a data, e na coluna "F" é inserida automaticamente a hora. Referente à coluna "F", se ao invés de hora eu quiser inserir um texto, como por exemplo, "Aprovado", qual seria o código nesse caso? Desde já agradeço.
Parabéns pelo conteúdo e pela didática. Repliquei a formula em minha planilha, fazendo os ajustes necessários. Está dando certo, ela demora para carregar as informações na célula e quando vários dados são inseridos algumas linhas ficam sem preencher. Consegue ajudar a entender o que é. Além do script, a planilha tem fórmulas em outras colunas, não relacionadas à que inclui data. E em outra aba faço uma query juntando os dados das duas abas que aplico data e hora ao editar. A atualização é feita por leitor de código de barras. Consegue auxiliar no que pode estar acontecendo?
Bom dia, obrigado, este script funciona apenas para digitação, ou seja em uma linha por vez. O script é disparado quando tem edição na linha, mas acredito que s fórmulas no Google Planilhas não disparam o script.
Muito obrigado pelo retorno rápido. Na verdade não usei formula para o script. As formulas são para outras finalidades na planilha. A coluna indicada como disparador do script é de digitação. O preenchimento é feito digitando ou com leitor de código de barras. Porém, faço o preenchimento, algumas linhas inclui a data, e outras não.
@@CanalSGP amigo, eu dupliquei o código para fazer o mesmo, em outra parte da mesma planilha, mas ele só executa um ou outro, como faço para que ele execute os dois ao msm tempo?
Ola, excelente aula, porem estou tentando replicar o script e não consigo executa-lo. Criei a planilha Sheets exatamente igual do video, nas mesmas colunas e não roda... Toda vez que preencho algo na coluna do Produto, não aparece nada... Ao ir na area de EXTENSÕES > MACROS > Clicar na macro OnEdit ele apresenta esse erro: "ReferenceError: treinando is not defined" Treinando foi o nome que dei na Aba... ja tentei mudar mas não influenciou em nada.
function onEdit() { var guiaAtiva = SpreadsheetApp.getActive().getSheetName(); if(guiaAtiva == "treinando"){ var guia = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(treinando); var linha = guia.getActiveCell().getRow(); var coluna = guia.getActiveCell().getColumn(); if (coluna == 2){ if (linha > 2){ var datacel = guia.getRange(linha,5).getValue(); var produto = guia.getRange(linha,4).getValue(); if (produto != "" && datacel == ""){ var hora = Utilities.formatDate(new Date(), Session.getScriptTimeZone(),"hh;mm;ss a"); var data = Utilities.formatDate(new Date(), Session.getScriptTimeZone(),"dd/mm/yyyy"); guia.getRange(linha,5).setValue(data); guia.getRange(linha,6).setValue(hora); } if(produto == ""){ guia.getRange(linha,5).setValue(""); guia.getRange(linha,6).setValue(""); } } } } }
Boa noite, parabéns pela explicação, tem me ajudado muito, mas estou com uma dúvida, como faço para colocar data e hora duas vezes na mesma guia, para dar saída em depois a entrada de uma ferramenta no sistema. Sempre que coloco pra funcionar em uma coluna, a outra para de funcionar.
Bom dia, obrigado, acredito que vai precisar repetir o if de verificação de qual coluna está ativa, replicando o código para trabalhar de acordo com a outra coluna.
Bom dia, pode fazer da forma a seguir e especificar o horário do fuso horário que vai pegar. const options = { timeZone: 'America/Manaus', hour: 'numeric', minute: 'numeric', }; const date = new Intl.DateTimeFormat([], options); var hora = date.format(new Date());
Professor tudo bem ? no meu código a data mes quando coloco produto 1 e produto 2 o mes muda exemplo: 22/05/2022 quando coloco outro produto a data fica assim 22/06/2022
Boa noite, talvez seja algo relacionado ao preenchimento automático do Google Planilhas, teste deixar uma linha em branco e testar na próxima, para ver se o erro persiste.
Boa noite, teste alterar a linha de código a seguir. var data = Utilities.formatDate(new Date(), Session.getScriptTimeZone(),"dd/MM/yyyy"); Por: var data = Utilities.formatDate(new Date(), SpreadsheetApp.getActiveSpreadsheet().getScriptTimeZone(),"dd/MM/yyyy");
Muito bom o vídeo parabéns!! Eu segui o vídeo e funcionou 100%, porém na planilha que eu preciso fazer os dados de um formulário do meu site, e quando eles são inseridos na planilha automaticamente a data e hora não são "setadas". Saberia me dizer por favor como fazer isso?
Ola! Como na planilha do meu forms não apareceu automaticamente os dados na coluna "carimbo data/hora" tentei realizar o seu passo a passo. Mas deu um erro na última linha com este sinal ".~" e não consigo apagar. Como posso resolver?
Mesmo fazendo os processo desse vídeo e aparecendo no script "notificação Execução concluída" não faz a função na planilha e na (execução relata quando mexemos na planilha, então estão ligados ) O que eu faço?
@@CanalSGP Esta assim o script, as colunas são essas mesmo 9 para aparecer a data e 3 que deveria esta a informação; Já testei em todas as colunas mas nada aparece na 9 function onEdit() {
var guiaAtiva = SpreadsheetApp.getActive().getSheetName(); if (guiaAtiva == "Atendidos"){ var guia = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Atendidos"); var linha = guia.getActiveCell().getRow(); var coluna = guia.getActiveCell().getColumn(); if (coluna == 3){ if (linha > 2){ var datacel = guia.getRange(linha,9).getValue(); var produto = guia.getRange(linha, 3).getValue(); if (produto != "" && datacel == ""){ var data = Utilities.formatDate(new Date(), Session.getScriptTimeZone(),"dd/MM/yyyy"); guia.getRange(linha,9).setValue(data);
Bom dia, a princípio não identifiquei erro, talvez seja o nome da guia que tenha algum caracter diferente, teste copiar o nome da guia, cuidando se não foi digitado espaço no nome. if (guiaAtiva == "Atendidos"){
Fiz certinho como você ensinou e já tinha tentado com outro script de outra pessoa, ele para de funcionar do nada. O seu script nem executou, e sim... revisei, assisti as aulas tres vezes, não tem erro no código, mas na tabela nada acontece.
Lucas, boa noite! Como fez para colocar os dois códigos? Tentei aqui e não consegui. Tbm preciso colocar colocar o horário de saída do material na mesma planilha
Boa tarde! Primeiramente parabéns pelo vídeo! Excelente explicação! Quando eu apliquei esse script na minha planilha, as horas estão sendo marcadas 1 hora antes da hora real, o que eu posso fazer para corrigir isso? Ex: Se eu adiciono uma informação na planilha às 16h30 esse horário é registrado 15h30.
@@CanalSGP Bom dia! Não entendi como ficaria a string, seria assim? function onEdit() { var guiaAtiva = SpreadsheetApp.getActive().getSheetName(); if(guiaAtiva == "Análises"){ var guia = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Análises"); var linha = guia.getActiveCell().getRow(); var coluna = guia.getActiveCell().getColumn(); if(coluna == 1){ if(linha > 2){ var datacel = guia.getRange(linha,23).getValue(); var id = guia.getRange(linha,1).getValue(); if(id !="" && datacel == ""){ var hora = Utilities.formatDate(d.toLocale TimeString(), Session.getScriptTimeZone(),"hh:mm:ss a"); var data = Utilities.formatDate(new Date(), Session.getScriptTimeZone(),"dd/MM/yyyy"); guia.getRange(linha,23).setValue(data); guia.getRange(linha,24).setValue(hora); } if(id == ""){ guia.getRange(linha,23).setValue(""); guia.getRange(linha,24).setValue(""); } } } } Porque mesmo assim está contando 1 hora a menos. Me ajuda por favor?
Bom dia, a linha de código que tem a variável hora precisa trocar pelos códigos que mencionei. ATUAL var hora = Utilities.formatDate(d.toLocale TimeString(), Session.getScriptTimeZone(),"hh:mm:ss a"); TROCAR POR var d = new Date(); var hora = d.toLocaleTimeString();
o meu ta dando esse erro - ReferenceError: SpreadSheetApp is not defined, ta tudo exatamente como no video, até a planilha eu fiz igual para bater os dados
É possível criar um código para atualizar o horário a cada edição? Esse só registra o horário na primeira edição, de mudar algo, o horário continua o mesmo.
Olá, estou com um problema, se eu coloco a informação, executa certo nas duas planilhas, mas se é outro usuário, esta funcionando só na primeira planilha, o que pode ser?
Boa noite, deveria funcionar nas duas, talvez seja problema de login em mais de uma conta ao mesmo tempo, teste sair de todas as contas e logar somente em uma.
Fiz o script direitinho como ensinado, porém eles não funcionaram pois creio que se o campo "produto" tiver validação de dados ele não consegue alimentar a data em outra coluna, ou estou falando besteira?
Boa tarde, teste digitar manualmente, se funcionar ai deve ser algo com a validação de dados. O Google fez alterações nas validação de dados a pouco tempo, mas não cheguei a testar.
@@CanalSGP Funciona tranquilo, só tive dificuldade de habilitar em 2 ou mais paginas, pois a partir do momento que faço outro script ele para na primeira pagina.
por favor, qual fórmula deve ser usada para o preenchimento automático da data na coluna B, sempre que for inserido Concluído na coluna A, na planilha Google Sheets? Status Data Final Devolvido Concluído 02/10/2023 Em Análise Concluído 04/10/2023 Concluído 05/10/2023
Olá, quero agradecer pela ótimo conteúdo, sempre dando um show de aula professor. Parabéns pela dedicação e didática, que Deus continue abençoando sua vida. Gostaria de fazer um pedido, estou enviando um LINK abaixo. Tenho aprendido muito sobre o Google Sheets, porém gostaria de saber como fazer a atualização do Google Slide pela Google sheets. ua-cam.com/video/s8gE9rMLxpA/v-deo.htmlsi=UQqbpDF4IMVvjiMT. Agradeço e um abraço. 👏👏👏
Boa tarde, acredito que seja erro de digitação dentro do if. Errado: var guiaAtiva = SpreadsheetApp.getActiveSpreadsheet() .getSheetByName("Modelo") Correto: var guia = SpreadsheetApp.getActiveSpreadsheet() .getSheetByName("Modelo") var linha = guia.getactivecell() .getRow(); var coluna = guia.getactivecell() .getColumn();
Incrível sua didática cara, conteúdo muito valioso, obrigado e parabens
Boa noite, obrigado.
Quero agradecer, por este canal, comprei também seu material da internet, maravilhoso. Continue esse excelente trabalho. Além que é muito legal.
Obrigado.
Ótima tarde noite abençoada , resolveu o meu problema no serviço. Repliquei na mesma aba , funciona ok
Que bom que ajudou
Bom dia professor passando para desejar um excelente 2024 com paz e saúde e que o bom Deus lhe abençoe sempre, muito obrigado pelos ensinamentos❤🙏
Bom dia, obrigado, igualmente.
Amo este canal. 😍
Cada vídeo que assisto sempre aprendo uma coisa nova. 👏🏻👏🏻👏🏻
Que ótimo!, Sucesso em seus estudos.
Obrigado SGP, as explicações ajudaram-me bastante em sanar dúvida. Vlw!!!
Que bom que ajudou
Script perfeito, Muito obrigado! Já apliquei no meu trabalho e vai me ajudar muito a controlar as alterações de cada usuário na minha planilha!
Boa tarde, obrigado.
Parabéns, show!
Obrigado.
brabo demais
meu chefe gostou rs
Que bom
Sensacional esse conteúdo, muito obrigado!!!
Obrigado.
Explicação tooop, ajudou demais, muito obrigado!! 😁
Que bom que ajudou
Muito obrigado. Explicação perfeita.
Obrigado, sucesso em seus estudos.
Corrigir Erro Script Inserindo Hora Errada, hora a menos ou a mais:
ua-cam.com/video/qbL5gsXb4Jw/v-deo.html
Excelente!!!!
Obrigado.
Estou com o seguinte erro 23:15:27 Erro
TypeError: Cannot read properties of null (reading 'getSheetName'), consegue me ajudar?
Bom dia, pode ser erro de digitação, pela mensagem.
O meu estava vindo uma hora atrasada, aí tentei no método comum lá descrito porém não consegui, mas na parte que estava escrito var hora = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "hh:mm:ss a"); troquei por var hora = Utilities.formatDate(new Date(),("GMT-03:00"), "HH:mm:ss a"); nos dois, tanto na primeira parte quando na segunda var data = Utilities.formatDate(new Date(), ("GMT-03:00"), "dd/MM/yyyy")
function onEdit() {
var guiaativa = SpreadsheetApp.getActive().getSheetName();
if(guiaativa != "ATIVO"){
return false;
}
var guia = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("ATIVO");
var linha = guia.getActiveCell().getRow();
var coluna = guia.getActiveCell().getColumn();
if(coluna == 6){
if (linha > 2){
var celulahora = guia.getRange(linha, 8).getValue();
var produto = guia.getRange(linha, 6).getValue();
if(produto != "" ){
// if(celulahora == ""){
var hora = Utilities.formatDate(new Date(),("GMT-03:00"), "HH:mm:ss a");
// caso a hora tenha uma hora a menos, desative a linha anterior e ative as linhas de código abaixo
//var d = new Date("GMT-02:00");
//var hora = d.toLocaleTimeString("GMT-03:00");
var data = Utilities.formatDate(new Date(), ("GMT-03:00"), "dd/MM/yyyy");
guia.getRange(linha, 7).setValue(hora);
guia.getRange(linha, 8).setValue(data);
// }
}else{
guia.getRange(linha, 7).setValue("");
guia.getRange(linha, 8).setValue("");
}
}
}
}
Boa tarde, que bom que conseguiu.
Boa tarde, ótimo vídeo mas não era exatamente o que eu estava procurando, gostaria de saber o que deveria ser feito ou se tem esse conteúdo em outro vídeo para o caso de a data atualizar automaticamente sempre que o valor presente na célula for atualizado, no caso um valor que é atualizado automaticamente através de outras fórmulas
Boa tarde, obrigado, que considere valor de fórmula não tentei fazer script ainda.
Professor, obrigada pela aula.
Vamos ver se consegue me ajudar, estou precisando inserir outro campo de hora. Consegui fazer a hora de entrada, mas não consigo fazer o horário de saída. Será que poderia me ajudar, por favor.
Bom dia, verifique se foi ajustado no if das colunas para acionar o script , se está considerando a digitação em outra coluna para inserir a hora de saída.
E quando a hora for de MatoGrosso? como faço para que aparece uma hora a menos?
Bom dia, teste alterar a linha de código a seguir:
var hora = Utilities.formatDate(new Date(), Session.getScriptTimeZone(),"hh:mm:ss a");
Por:
var planilha = SpreadsheetApp.getActiveSpreadsheet();
var hora = Utilities.formatDate(new Date(), planilha.getScriptTimeZone(),"hh:mm:ss a");
Desta forma acredito que vai pegar a hora de acordo com o fuso horário da planilha.
Muito bom o vídeo e a explicação! Só teve uma questão que quando eu insiro qualquer outra informação na planilha, a hora vai atualizando a cada edição. Teria alguma forma de travar ela para fixar a hora que o dado foi setado?
Boa noite, verifique se referenciou as colunas que devem acionar o script corretamente.
Muito bom
Obrigado.
Olá, queria saber se tem como fazer um script que mude a cor da guia que está atualmente aberta, para que ela fique destacada das demais. Se puder me ajudar, eu ficaria muito grato...
Boa noite, não tentei código neste sentido ainda, experimente gravar uma macro fazendo o processo manual, para capturar o código.
@@CanalSGP Obrigado, vou tentar.
Boa tarde. No exemplo usado, na coluna "E" é inserido automaticamente a data, e na coluna "F" é inserida automaticamente a hora. Referente à coluna "F", se ao invés de hora eu quiser inserir um texto, como por exemplo, "Aprovado", qual seria o código nesse caso?
Desde já agradeço.
Boa noite, vai precisar trocar a var hora por var Texto por exemplo:
Var Texto = "APROVADO"
Parabéns pelo conteúdo e pela didática. Repliquei a formula em minha planilha, fazendo os ajustes necessários.
Está dando certo, ela demora para carregar as informações na célula e quando vários dados são inseridos algumas linhas ficam sem preencher. Consegue ajudar a entender o que é. Além do script, a planilha tem fórmulas em outras colunas, não relacionadas à que inclui data. E em outra aba faço uma query juntando os dados das duas abas que aplico data e hora ao editar. A atualização é feita por leitor de código de barras. Consegue auxiliar no que pode estar acontecendo?
Bom dia, obrigado, este script funciona apenas para digitação, ou seja em uma linha por vez. O script é disparado quando tem edição na linha, mas acredito que s fórmulas no Google Planilhas não disparam o script.
Muito obrigado pelo retorno rápido. Na verdade não usei formula para o script. As formulas são para outras finalidades na planilha. A coluna indicada como disparador do script é de digitação. O preenchimento é feito digitando ou com leitor de código de barras. Porém, faço o preenchimento, algumas linhas inclui a data, e outras não.
Bom dia, se a inserção for muito rápida, pode não inserir, porque o Google planilhas demora uns segundos para atualizar.
Boa noite, muito boa explicação,
Tem como fazer isso em duas paginas diferentes cada página com sua definição própria
Bom dia, obrigado, não entendi exatamente sua dúvida, porque o script já este sendo acionado em duas abas da planilha.
Top demais, como faço para compartilhar em um planilha que possui outros usuarios, e que eles tbm consigam executar ela?
Bom dia, obrigado, compartilha a planilha e cada usuário vai precisar permitir o script.
@@CanalSGP amigo, eu dupliquei o código para fazer o mesmo, em outra parte da mesma planilha, mas ele só executa um ou outro, como faço para que ele execute os dois ao msm tempo?
Bom dia, provavelmente o erro seja nas referências dos ifs.
Ola, excelente aula, porem estou tentando replicar o script e não consigo executa-lo. Criei a planilha Sheets exatamente igual do video, nas mesmas colunas e não roda... Toda vez que preencho algo na coluna do Produto, não aparece nada... Ao ir na area de EXTENSÕES > MACROS > Clicar na macro OnEdit ele apresenta esse erro: "ReferenceError: treinando is not defined"
Treinando foi o nome que dei na Aba... ja tentei mudar mas não influenciou em nada.
function onEdit() {
var guiaAtiva = SpreadsheetApp.getActive().getSheetName();
if(guiaAtiva == "treinando"){
var guia = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(treinando);
var linha = guia.getActiveCell().getRow();
var coluna = guia.getActiveCell().getColumn();
if (coluna == 2){
if (linha > 2){
var datacel = guia.getRange(linha,5).getValue();
var produto = guia.getRange(linha,4).getValue();
if (produto != "" && datacel == ""){
var hora = Utilities.formatDate(new Date(), Session.getScriptTimeZone(),"hh;mm;ss a");
var data = Utilities.formatDate(new Date(), Session.getScriptTimeZone(),"dd/mm/yyyy");
guia.getRange(linha,5).setValue(data);
guia.getRange(linha,6).setValue(hora);
}
if(produto == ""){
guia.getRange(linha,5).setValue("");
guia.getRange(linha,6).setValue("");
}
}
}
}
}
Boa tarde, obrigado, mas pela mensagem é algo no nome da guia, pode ser espaço desnecessário, letras diferentes, mas tem algo de errado.
como faço para adicionar a data quando copio e colo um range de celulas, o script esta adicionando a data somente na primeira linha do range colado
Boa noite, não tentei fazer script para atender esta necessidade, mas vou estudar.
Boa noite, parabéns pela explicação, tem me ajudado muito, mas estou com uma dúvida, como faço para colocar data e hora duas vezes na mesma guia, para dar saída em depois a entrada de uma ferramenta no sistema. Sempre que coloco pra funcionar em uma coluna, a outra para de funcionar.
Bom dia, obrigado, acredito que vai precisar repetir o if de verificação de qual coluna está ativa, replicando o código para trabalhar de acordo com a outra coluna.
Ok. Sabe dizer se daria inserir um código para hora local ou fuso horário? Se for possível, onde esse código entraria no script? Desde ja obrigado.
Bom dia, pode fazer da forma a seguir e especificar o horário do fuso horário que vai pegar.
const options = {
timeZone: 'America/Manaus',
hour: 'numeric',
minute: 'numeric',
};
const date = new Intl.DateTimeFormat([], options);
var hora = date.format(new Date());
@@CanalSGP não consegui identificar onde eu colocaria esse código no documento, e também dentro de Intl.DateTimeFormat tem algo errado.
Professor tudo bem ? no meu código a data mes quando coloco produto 1 e produto 2 o mes muda exemplo: 22/05/2022 quando coloco outro produto a data fica assim 22/06/2022
Boa noite, talvez seja algo relacionado ao preenchimento automático do Google Planilhas, teste deixar uma linha em branco e testar na próxima, para ver se o erro persiste.
@@CanalSGP testei continua com o mesmo problema.
Boa noite, teste alterar a linha de código a seguir.
var data = Utilities.formatDate(new Date(), Session.getScriptTimeZone(),"dd/MM/yyyy");
Por:
var data = Utilities.formatDate(new Date(), SpreadsheetApp.getActiveSpreadsheet().getScriptTimeZone(),"dd/MM/yyyy");
Muito bom o vídeo parabéns!! Eu segui o vídeo e funcionou 100%, porém na planilha que eu preciso fazer os dados de um formulário do meu site, e quando eles são inseridos na planilha automaticamente a data e hora não são "setadas". Saberia me dizer por favor como fazer isso?
Bom dia, obrigado, talvez colocando uma acionador, igual fizemos no vídeo no link a seguir. ua-cam.com/video/7xLt_eO_yDQ/v-deo.html
Ola! Como na planilha do meu forms não apareceu automaticamente os dados na coluna "carimbo data/hora" tentei realizar o seu passo a passo. Mas deu um erro na última linha com este sinal ".~" e não consigo apagar. Como posso resolver?
Bom dia, talvez seja erro de digitação no código, atualize a página e acesse novamente o editor e verifique os códigos se tem algum com acento.
Mesmo fazendo os processo desse vídeo e aparecendo no script "notificação Execução concluída" não faz a função na planilha e na (execução relata quando mexemos na planilha, então estão ligados ) O que eu faço?
Boa tarde, pode ser erro de referências as colunas e linhas, se não for referenciado corretamente não vai executar na coluna que deseja.
@@CanalSGP
Esta assim o script, as colunas são essas mesmo 9 para aparecer a data e 3 que deveria esta a informação; Já testei em todas as colunas mas nada aparece na 9
function onEdit() {
var guiaAtiva = SpreadsheetApp.getActive().getSheetName();
if (guiaAtiva == "Atendidos"){
var guia = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Atendidos");
var linha = guia.getActiveCell().getRow();
var coluna = guia.getActiveCell().getColumn();
if (coluna == 3){
if (linha > 2){
var datacel = guia.getRange(linha,9).getValue();
var produto = guia.getRange(linha, 3).getValue();
if (produto != "" && datacel == ""){
var data = Utilities.formatDate(new Date(), Session.getScriptTimeZone(),"dd/MM/yyyy");
guia.getRange(linha,9).setValue(data);
}
if (produto == ""){
guia.getRange(linha,9).setValue("");
}
}
}
}
}
Bom dia, a princípio não identifiquei erro, talvez seja o nome da guia que tenha algum caracter diferente, teste copiar o nome da guia, cuidando se não foi digitado espaço no nome.
if (guiaAtiva == "Atendidos"){
@@CanalSGP Mudei o nome e consegui. Obrigada!
Fiz certinho como você ensinou e já tinha tentado com outro script de outra pessoa, ele para de funcionar do nada. O seu script nem executou, e sim... revisei, assisti as aulas tres vezes, não tem erro no código, mas na tabela nada acontece.
Boa tarde, talvez sua conta não tenha permissão para executar scripts.
Muito Obrigado, coloquei dois códigos na mesma planilha, quando o operador coloca o recebimento do produto, e quando ele marca que o produto saiu, =)
Boa noite, que bom, sucesso em seus estudos.
Lucas, boa noite!
Como fez para colocar os dois códigos? Tentei aqui e não consegui.
Tbm preciso colocar colocar o horário de saída do material na mesma planilha
@@alinealves7956 Desculpa se foi duas respostas é que bugou aqui rsrs
Boa tarde, teria como colocar a data de ontem ao invez do dia atual?
Boa tarde, não tentei fazer isso ainda. De soma de data com script tenho apenas o vídeo no link a seguir. ua-cam.com/video/222wsEGmcdw/v-deo.html
Boa tarde! Primeiramente parabéns pelo vídeo! Excelente explicação!
Quando eu apliquei esse script na minha planilha, as horas estão sendo marcadas 1 hora antes da hora real, o que eu posso fazer para corrigir isso?
Ex: Se eu adiciono uma informação na planilha às 16h30 esse horário é registrado 15h30.
Boa tarde, teste capturar a hora da forma a seguir.
var d = new Date();
var hora = d.toLocaleTimeString();
@@CanalSGP Bom dia!
Não entendi como ficaria a string, seria assim?
function onEdit() {
var guiaAtiva = SpreadsheetApp.getActive().getSheetName();
if(guiaAtiva == "Análises"){
var guia = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Análises");
var linha = guia.getActiveCell().getRow();
var coluna = guia.getActiveCell().getColumn();
if(coluna == 1){
if(linha > 2){
var datacel = guia.getRange(linha,23).getValue();
var id = guia.getRange(linha,1).getValue();
if(id !="" && datacel == ""){
var hora = Utilities.formatDate(d.toLocale TimeString(), Session.getScriptTimeZone(),"hh:mm:ss a");
var data = Utilities.formatDate(new Date(), Session.getScriptTimeZone(),"dd/MM/yyyy");
guia.getRange(linha,23).setValue(data);
guia.getRange(linha,24).setValue(hora);
}
if(id == ""){
guia.getRange(linha,23).setValue("");
guia.getRange(linha,24).setValue("");
}
}
}
}
Porque mesmo assim está contando 1 hora a menos. Me ajuda por favor?
Bom dia, a linha de código que tem a variável hora precisa trocar pelos códigos que mencionei.
ATUAL
var hora = Utilities.formatDate(d.toLocale TimeString(), Session.getScriptTimeZone(),"hh:mm:ss a");
TROCAR POR
var d = new Date();
var hora = d.toLocaleTimeString();
o meu ta dando esse erro - ReferenceError: SpreadSheetApp is not defined, ta tudo exatamente como no video, até a planilha eu fiz igual para bater os dados
Boa noite, pela mensagem é erro na linha de código que referencia a planilha.
É possível criar um código para atualizar o horário a cada edição?
Esse só registra o horário na primeira edição, de mudar algo, o horário continua o mesmo.
Encontrei outro vídeo seu que resolve o problema. Obrigado!
ua-cam.com/video/SXiQJEKSY60/v-deo.html
Boa noite, que bom que resolveu.
Olá, estou com um problema, se eu coloco a informação, executa certo nas duas planilhas, mas se é outro usuário, esta funcionando só na primeira planilha, o que pode ser?
Boa noite, deveria funcionar nas duas, talvez seja problema de login em mais de uma conta ao mesmo tempo, teste sair de todas as contas e logar somente em uma.
@@CanalSGP Deu certo, usuária saiu e entrou e voltou a funcionar. Obrigada!!
Que bom que resolveu
Como inserir automaticamente um link em uma célula, a partir de algo selecionado em um menu suspenso na célula anterior? Tem algum vídeo explicando?
Boa tarde, infelizmente não tenho vídeo neste sentido.
@@CanalSGP eu consegui achar uma forma de fazer algo parecido com um dos seus vídeos. Obrigada!
Fiz o script direitinho como ensinado, porém eles não funcionaram pois creio que se o campo "produto" tiver validação de dados ele não consegue alimentar a data em outra coluna, ou estou falando besteira?
Boa tarde, teste digitar manualmente, se funcionar ai deve ser algo com a validação de dados. O Google fez alterações nas validação de dados a pouco tempo, mas não cheguei a testar.
@@CanalSGP Funciona tranquilo, só tive dificuldade de habilitar em 2 ou mais paginas, pois a partir do momento que faço outro script ele para na primeira pagina.
Olá! É possivel que a célula com a data e hora sejam preenchidas sem q tenha q dar enter?
Boa tarde, precisa haver edição nas colunas definidas para acionar o script.
Tem como "travar" a primeira coluna para não haver alteração na data e hora
Bom dia, não fiz algo assim no Google planilhas ainda.
Olá alguém poderia me ajudar, minha planilha esta puxando 1 hora atrasada. Ja verifiquei o fuso horário da configuração da planilha.
Boa tarde, teste o código a seguir para ver se ocorre erro também.
var d = new Date();
var hora = d.toLocaleTimeString();
@@CanalSGP Tentei com este código e no meu não funcionou.
Uma hora a menos também.
Boa tarde, não sei de outra forma.
Infelizmente na minha planilha não está funcionando. O que pode estar acontecendo?
Boa noite, retorna alguma mensagem de erro?
por favor, qual fórmula deve ser usada para o preenchimento automático da data na coluna B, sempre que for inserido Concluído na coluna A, na planilha Google Sheets?
Status Data Final
Devolvido
Concluído 02/10/2023
Em Análise
Concluído 04/10/2023
Concluído 05/10/2023
Boa noite, envolvendo condição acredito que vai precisa trabalhar com if.
já tentei várias fórmulas mas no Google Sheets não está funcionando, no Excel funciona
pra mim não aparece a opção de google script
Bom dia, o menu do Google Planilhas foi alterado, agora o editor consta no menu extensões, apps script.
Não sei pq .. mas nao funcionou comigo :(
Bom dia, retorna algum mensagem de erro?
Boa tarde. Segui a sugestão e deu certo, obrigado. Porém, o horário aparece com uma hora a menos. Como posso corrigir esse erro, por gentileza?
Boa tarde, não consegui reproduzir esse erro ainda, talvez tenha relação com a configuração do fuso horário da planilha.
Olá, quero agradecer pela ótimo conteúdo, sempre dando um show de aula professor. Parabéns pela dedicação e didática, que Deus continue abençoando sua vida.
Gostaria de fazer um pedido, estou enviando um LINK abaixo. Tenho aprendido muito sobre o Google Sheets, porém gostaria de saber como fazer a atualização do Google Slide pela Google sheets.
ua-cam.com/video/s8gE9rMLxpA/v-deo.htmlsi=UQqbpDF4IMVvjiMT.
Agradeço e um abraço. 👏👏👏
Boa tarde, obrigado, não cheguei a estudar este tema até o momento, mas vou analisar para ver se aprendo algo.
Teve alguma alteração, poque meu código não está funcionando. Vou deixar aqui também: function onEdit() {
}
var guiaAtiva = SpreadsheetApp.getActive() . getSheetName ();
if(guiaAtiva == "Modelo" ){
var guiaAtiva = SpreadsheetApp.getActiveSpreadsheet() .getSheetByName("Modelo")
var linha = guia.getactivecell() .getRow();
var coluna = guia.getactivecell() .getColumn();
if (coluna == 1) {
if (linha > 2) {
var datacel = guia.getRange(linha, 2).getValue();
var responsavel = guia.getRange(linha, 1).getValue();
if(responsavel != "" && datacel == "") {
var hora = Utilities.formatDate(new date(), Session.getScriptTimeZone(),"hh:mm:ss a" );
var data = Utilities.formatDate(new date(), Session.getScriptTimeZone(),"dd//MM/yyyy" );
guia.getRange (linha, 2).setValue(data);
guia.getRange (linha, 3).setValue(hora);
}
if (responsavel == "" ){
guia.getRange (linha, 2).setValue("");
guia.getRange (linha, 3).setValue("");
}
}
}
}
Boa tarde, acredito que seja erro de digitação dentro do if.
Errado: var guiaAtiva = SpreadsheetApp.getActiveSpreadsheet() .getSheetByName("Modelo")
Correto: var guia = SpreadsheetApp.getActiveSpreadsheet() .getSheetByName("Modelo")
var linha = guia.getactivecell() .getRow();
var coluna = guia.getactivecell() .getColumn();
@@CanalSGP Obrigado por responder, mas não consegui. Achei outro vídeo no yt que o cara deixou o código na descrição, só mudei 3 coisas e funcionou.
ok
@@arquivos97poderia colocar o link?
@@arquivos97 Compartilha o vídeo aí, por favor