ÉÉÉÉÉ LIKE LIKE LIKE LIKEEEEEEEEEE!!!! Muito Obrigado Mestre! Estou montando uma planilha de organização financeira e você foi o único vídeo do youtube que eu consegui aprender e aplicar esse script no Google Planilhas ❤❤❤❤❤❤
@@CanalSGP Obrigada! (: Eu queria saber se é possível fazer com que a mesma regra que aplicada à guia nomeada no script seja aplicada também para outras guias na mesma planilha e não fique em uma só guia. É possível fazer isso?
Finalmente consegui !!!, não sei o que fiz rsrsr mas deu certo eu tmb tive o problema com o "TypeError: Cannot read property 'range' of undefined " depois refiz o codigo e deu certo
Bom dia, que bom que conseguiu, no script todo o código precisa ser exato, se uma letra estiver errada, por exemplo é caixa alta e colocou caixa baixa, já não vai funcionar, são os detalhes.
@@CanalSGP acho que era uma besteira destas que eu estava fazendo, algum erro de digitação, mas dai voltei para fazer exatamente como você fez na planilha do exemplo e consegui, ai foi só replicar na minha planilha .... muito obrigado sua explicação de ficou "show de bola"
Primeiro lugar, parabéns pela forma simples e clara de compartilhar o seu conhecimento. Segundo lugar, como eu poderia fazer para incluir no script uma segunda dependência, por exemplo, imagine que além de Pais e Cidade eu ainda tenha Bairro. Como faço pra que a validação do bairro esteja condicionada a cidade e ao pais? Devo usar um if else para cidade e depois um else para bairro? Devo fazer uma nova function PegarBairros? Agradeço a atenção e ficaria muito feliz se pudesse me ajudar.
Professor, perfeita a explicação! Ainda não tinha encontrado um vídeo em português explicando sobre esse assunto. Uma dúvida: são muitos detalhes.. então para criar outras abas que também tenham essa validação, é melhor criar outros Scripts alterando o nome da aba em cada um ou nesse mesmo script incluir as outras abas? Desejo criar uma planilha com várias abas, de janeiro a dezembro. Obrigada pelo vídeo! 👏
Não sei programação, pra mim foi difícil adaptar o conhecimento pra aplicar na minha situação. Podia ter relacionado cada ponto do código com o lugar da planilha onde iria ser alterado após o código estar completo.
Funcionou bem demais! Obrigado professor, mas me tire uma duvida, se quiser inserir outra lista supensa dependente em outra coluna e com outros dados, como devo fazer? tentei copiar e mudar as informações mas deixou de rodar...
Olá, como ficaria se a seleção se fosse com 2 elementos ou mais? Exemplo, selecionar o país + o estado e trazer a lista das cidades de acordo com o país e o estado selecionado.
Boa noite! Obrigado pelo conteúdo publicado, fiz um exemplo para praticar com o mesmo código, no entanto está apresentando erro "TypeError: Cannot read property 'range' of undefined "
Professor estou precisando de uma ajuda sobre lista suspensa não estou conseguindo fazer isso por favor preciso de uma ajuda. tenho vários irmãos cadastrado Nome Email Telefone e etc... só que temas congregações afilias que eu gostaria de salva por congregação na hora que eu clicar com sede aparecer só as pessoas da sede se eu clicar só em serra do Teixeira aparecer só as pessoas serra do Teixeira ...o senhor entendeu o que eu quero explicar
Boa noite, vai precisar replicar a função referente ao if da guia. Semelhante ao que foi feito com data e hora, segue link. ruclips.net/video/SwOLBg2m8m0/видео.html
Primeiramente, parabéns! Ficou ótimo o vídeo e a explicação. Tive o mesmo erro que outras pessoas falaram: TypeError: Cannot read property 'range' of undefined onEdit @ Código.gs:9 Você poderia, por gentileza, copiar e colar o código completo na descrição do vídeo, assim poderia ser mais fácil para verificação. Muito grata!
Fala professor, boa noite. Tudo bem? Sua planilha funcionou super bem! Parabens, pela explicação simpls, direta e objetiva. Porém, me ocorreu o seguinte problema abaixo: Eu troquei os campos "paises" pelos estados brasileiros(27) e coloquei as cidades conforme o ibge para cada um dos respectivos estados, ocorre que quando eu faço uma alteração os únicos estados que não funciona a validação são Minas Gerais e São Paulo, pois são os únicos que possuem mais de 500 cidades, os demais como estão abaixo desta quantidade funcionam perfeitamente, existe algum limite de linhas por validação ? desde já, obrigado pela atenção e parabéns pelo canal ! Abraço !
Olá professor! gostaria de agradecer o conteúdo!! Em seguida, gostaria de pedir uma ajudinha, como ficaria o código pra apagar mais de uma linha da coluna " cidades" de uma vez só, apagando a coluna "pais". Exemplo, apagando 3 paises e ele limpa as 3 cidades respectivas. Pq percebi que o código limpa uma a uma, mas se quiser apagar várias de uma vez?
Bom dia, obrigado, foi feito procedimento semelhante no vídeo no link a seguir, mas acredito que ficaria complexo para fazer isso em lista suspensa. ruclips.net/video/fYU0vlX778I/видео.html
bom dia. Grato pelas dias... Infelizmente testei aqui em uma base que uso no trabalho mas "deu ruim" na linha 9 com a seguinte mensagem... TypeError: Cannot read property 'range' of undefined (linha 9, arquivo "Código") Agradeço de puderem me auxiliar Abs
@@CanalSGP Oi, professor, eu verifiquei linha por linha e não é isso, está tudo digitado corretamente. O significado do erro em português é "SpreadsheetApp não está definido".
Caro Professor SGP, obrigado pela aula. Todavia, devo dizer que a macro não está funcionando. Já tentei de diversas formas, mas não foi possível. O erro é o mesmo dos demais listados abaixo. Mesmo quando não apresentou este erro, a macro não funcionou. Poderia disponibilizar o código? Obrigado.
Eu também estou com o seguinte erro: "Erro TypeError: Cannot read property 'range' of undefined", que aparece ao evento e.range, que consta da linha 9 do código disponível na aula. A questão é: como resolver?
Consegui reproduzir este erro somente executando a função pelo editor, ou seja, a função vai dar erro se executar pelo editor porque não capturou o endereço de uma célula no range, por isso range não definido. Mas no momento que é editado na planilha, captura e executa corretamente.
O meu Script também deu o problema abaixo relatado por outros usuários. Na linha do script com o seguinte comando "var Celula = e.range;" dá um erro com a seguinte mensagem "TypeError: Cannot read property 'range' of undefined onEdit" . Nas respostas abaixo não consegui visualizar uma solução para o problema. Alguém conseguiu resolver isso?
Após um dia de teste, testando cada comando do Script individualmente, cheguei a conclusão que esse erro acusado acima não influencia no funcionamento da macro. Consegui que o Script executasse com as seguintes modificações: =>no comando "regra.requireValueInList(cidades, true);" mudei para "regra.requireValueInList(cidades, true).build();" =>mudei a ordem dos seguintes comandos....Primeiro coloquei o comando "cidade.setDataValidation(regra);" e somente abaixo coloquei o comando "cidade.ClearDataValidation();" Aliás, a presença ou ausência desse último comando não muda o resultado. Com essas modificações consegui que fosse formada a lista de validação de acordo com a escolha do país, mas se apago o país, a validação continua ativa na célula, e não é apagada, como diz no vídeo. Esse problema ainda não consegui resolver.
Saberia me orientar como faço para que a validação apague quando eu deletar o país, tal como ocorre no vídeo? O comando "cidade.ClearDataValidation();" não funciona.
Boa tarde, experimente colocar uma mensagem dentro da função para verificar se está entrando na função. Outra possibilidade é ter erro no nome da função onEdit.
Caro Prof. SGP, muito obrigado pela aula. Vai me ser muito útil. Uma pergunta: Qual ferramenta o senhor usou para capturar sua tela e seu áudio? Notei que esta ferramenta dá "zoom in" no setor da planilha (ou da tela) que está sendo usado num dado momento. Bem legal isso. Gostaria de saber se é a ferramenta que o senhor usou que faz isso. Obrigado desde já!
Bom dia, é utilizado o programa camtasia studio, mas o zoom é colocado no momento da edição, com um funcionalidade do próprio programa. Audio é capturado também pelo camtasia, mas com microfone audio technica.
Tentei e não consegui, acho que digitei algo de errado, nao sei mexer com macro/programação. Mas depois de muito quebrar a cabeça, achei uma solução BEM mais simples pra ter exatamente o mesmo resultado e tendo menos trabalho, apenas usando a função INDIRETO dentro da função TRANSPOR. Em uma aba separada.
Muito bom! Parabéns amigo 👏. Dúvida: existe um código para bloquear a edição da célula após ser escrito algo? Tenho um planilha compartilhada e gostaria de evitar que a turma editasse os dados uns dos outros. Por favor, tenho interesse em aprender gostaria de pagar uma aula particular com você, se possível é claro. 51999262288 ZAP. Abraço!
Boa aula Professor,tentei fazer de acordo com minha realidade mas não consegui, quero fazer uma lista dependente apartir da linha 3 ,coluna 3 em relação a uma lista suspensa localizada apartir da liha 3, coluna 2. Esse é o script que fiz: function onEdit(e) { var GuiaAtiva = SpreadsheetApp.getActive().getSheetName();
if(GuiaAtiva == "9º ANO A MANHÃ Olcino"){
var Celula = e.range;
var coluna = Celula.getColumn();
if (coluna == 2) {
var Guia = Celula.getSheet ();
var Linha = Celula.getRow ();
if (Linha > 2) {
var Interatividade = Celula.getValue ();
var Contexto = Guia.getRange (Linha, 3);
Contexto.setValue ("");
if (Interatividade == "") {
Contexto.clearDataValidation ();
}else{
var regra = SpreadsheetApp.newDataValidation();
var Contexto = PegarContexto (Interatividade);
regra.requireValueInList(Contexto, true);
regra.getAllowInvalid(false);
regra.setHelpText("Selecione um ítem válido:"+Interatividade);
Contexto.clearDataValidation ();
Contexto.setDataValidatio (regra);
}
}
}
} } function PegarContexto (Interatividade){ var guia = SpreadsheetApp.getActiveSpreadsheet ().getSheetByName("Dados"); var Contexto = guia.getRange(2, 1, guia.getLastRow()-1,2).getValues(); var filtro =[]; for (var i=0; i
ÉÉÉÉÉ LIKE LIKE LIKE LIKEEEEEEEEEE!!!! Muito Obrigado Mestre! Estou montando uma planilha de organização financeira e você foi o único vídeo do youtube que eu consegui aprender e aplicar esse script no Google Planilhas ❤❤❤❤❤❤
Que bom que ajudou.
Excelente Professor! Muito obrigado mais uma vez.
Obrigado
Nossa! Eu tô muito feliz, porque faz dois dias que eu tava presa na criação das listas suspensas dependentes sem conseguir fazer. Agora deu certo! \õ/
Bom dia, que bom que conseguiu.
@@CanalSGP Obrigada! (: Eu queria saber se é possível fazer com que a mesma regra que aplicada à guia nomeada no script seja aplicada também para outras guias na mesma planilha e não fique em uma só guia. É possível fazer isso?
Boa noite, pode acrescentar mais guia na condição if:
GuiaAtiva == "Dados" || Guia2 == "nomguia2"
@@CanalSGP Ah muito obrigada! (:
@@MillyLovatoJonas De nada.
Muito obrigado por disponibilizar o conhecimento! Funcionou 100%
Que bom que ajudou
Ajudou muito. Valeu!
Que bom que ajudou.
Parabéns! Vídeo maravilhoso.
Obrigado.
Finalmente consegui !!!, não sei o que fiz rsrsr mas deu certo eu tmb tive o problema com o "TypeError: Cannot read property 'range' of undefined " depois refiz o codigo e deu certo
Bom dia, que bom que conseguiu, no script todo o código precisa ser exato, se uma letra estiver errada, por exemplo é caixa alta e colocou caixa baixa, já não vai funcionar, são os detalhes.
@@CanalSGP acho que era uma besteira destas que eu estava fazendo, algum erro de digitação, mas dai voltei para fazer exatamente como você fez na planilha do exemplo e consegui, ai foi só replicar na minha planilha .... muito obrigado sua explicação de ficou "show de bola"
Boa noite, de nada.
Muito boa aula.
Bom dia, obrigado.
Gratidão 🙏
Obrigado
Primeiro lugar, parabéns pela forma simples e clara de compartilhar o seu conhecimento. Segundo lugar, como eu poderia fazer para incluir no script uma segunda dependência, por exemplo, imagine que além de Pais e Cidade eu ainda tenha Bairro. Como faço pra que a validação do bairro esteja condicionada a cidade e ao pais? Devo usar um if else para cidade e depois um else para bairro? Devo fazer uma nova function PegarBairros? Agradeço a atenção e ficaria muito feliz se pudesse me ajudar.
Boa tarde, obrigado, vou estudar essa necessidade, se obtiver sucesso gravo vídeo explicativo.
Professor, perfeita a explicação! Ainda não tinha encontrado um vídeo em português explicando sobre esse assunto.
Uma dúvida: são muitos detalhes.. então para criar outras abas que também tenham essa validação, é melhor criar outros Scripts alterando o nome da aba em cada um ou nesse mesmo script incluir as outras abas? Desejo criar uma planilha com várias abas, de janeiro a dezembro.
Obrigada pelo vídeo! 👏
Bom dia, obrigado, se for nas mesmas colunas, basta retirar a condição if de verificação da guia da planilha, que vai funcionar em todas.
Não sei programação, pra mim foi difícil adaptar o conhecimento pra aplicar na minha situação. Podia ter relacionado cada ponto do código com o lugar da planilha onde iria ser alterado após o código estar completo.
Boa tarde, tente fazer exemplo igual ao do vídeo primeiro, depois que funcionar tente adaptar, facilita o entendimento.
Funcionou bem demais! Obrigado professor, mas me tire uma duvida, se quiser inserir outra lista supensa dependente em outra coluna e com outros dados, como devo fazer? tentei copiar e mudar as informações mas deixou de rodar...
Bom dia, obrigado, segue link de vídeo onde colocamos mais listas. ruclips.net/video/A8LIKS1gwPI/видео.html
Olá, como ficaria se a seleção se fosse com 2 elementos ou mais? Exemplo, selecionar o país + o estado e trazer a lista das cidades de acordo com o país e o estado selecionado.
Bom dia, para cidade vai ser na mesma lógica e estrutura, mas utilizando a coluna cidade como base para geração da próxima lista.
Boa noite! Obrigado pelo conteúdo publicado, fiz um exemplo para praticar com o mesmo código, no entanto está apresentando erro "TypeError: Cannot read property 'range' of undefined "
Bom dia, pela mensagem deve ser erro na referência planilha ou a área da planilha.
O interessante que é uma coisa tão simples no fazer no Excel convencional.
Bom dia, cada ferramenta tem suas vantagens e desvantagens, mas quando se familiariza com os script do Google, é mais fácil que o Excel VBA.
Professor estou precisando de uma ajuda sobre lista suspensa não estou conseguindo fazer isso por favor preciso de uma ajuda. tenho vários irmãos cadastrado Nome Email Telefone e etc... só que temas congregações afilias que eu gostaria de salva por congregação na hora que eu clicar com sede aparecer só as pessoas da sede se eu clicar só em serra do Teixeira aparecer só as pessoas serra do Teixeira ...o senhor entendeu o que eu quero explicar
Boa tarde, se for lista suspensa vai ser o mesmo processo deste vídeo, pelo menos não sei de outra forma de carregar listas dependentes.
Boa noite! Casou eu queira deixar na mesma linha e coluna, porem em mais de uma aba da planilha como eu faço?
Boa noite, vai precisar replicar a função referente ao if da guia. Semelhante ao que foi feito com data e hora, segue link. ruclips.net/video/SwOLBg2m8m0/видео.html
Boa noite! No meu caso a opção "Editor de Scripts" não aparece... como devo proceder? Obrigada!
Bom dia, o menu foi alterado pelo Google, agora consta no Menu Extensões, AppScript
Ola professor! Como faz para deixar a segunda lista suspensa em ordem alfabetica? Obrigado pela aula!
Boa noite, acredito que vai precisa classificar na base de dados, de onde vem a lista.
Primeiramente, parabéns! Ficou ótimo o vídeo e a explicação.
Tive o mesmo erro que outras pessoas falaram:
TypeError: Cannot read property 'range' of undefined
onEdit @ Código.gs:9
Você poderia, por gentileza, copiar e colar o código completo na descrição do vídeo, assim poderia ser mais fácil para verificação.
Muito grata!
Bom dia, obrigado, onde está enfrentando este erro, testando pelo editor ou ao selecionar opção na primeira lista.
Fala professor, boa noite.
Tudo bem?
Sua planilha funcionou super bem! Parabens, pela explicação simpls, direta e objetiva.
Porém, me ocorreu o seguinte problema abaixo:
Eu troquei os campos "paises" pelos estados brasileiros(27) e coloquei as cidades conforme o ibge para cada um dos respectivos estados, ocorre que quando eu faço uma alteração os únicos estados que não funciona a validação são Minas Gerais e São Paulo, pois são os únicos que possuem mais de 500 cidades, os demais como estão abaixo desta quantidade funcionam perfeitamente, existe algum limite de linhas por validação ?
desde já, obrigado pela atenção e parabéns pelo canal !
Abraço !
Boa tarde, obrigado, até o momento não sei de limite de opções da lista.
Como fazer múltiplos menus dependentes?
Boa tarde, com mais de duas combinações não tenho procedimento.
Olá professor! gostaria de agradecer o conteúdo!! Em seguida, gostaria de pedir uma ajudinha, como ficaria o código pra apagar mais de uma linha da coluna " cidades" de uma vez só, apagando a coluna "pais". Exemplo, apagando 3 paises e ele limpa as 3 cidades respectivas.
Pq percebi que o código limpa uma a uma, mas se quiser apagar várias de uma vez?
Bom dia, obrigado, foi feito procedimento semelhante no vídeo no link a seguir, mas acredito que ficaria complexo para fazer isso em lista suspensa. ruclips.net/video/fYU0vlX778I/видео.html
@@CanalSGP MUITO OBRIGADAA!!
Gostaria de saber como executar uma macro com base no valor selecionado na lista suspensa de uma célula. É possível ?
Bom dia, acredito que seja possível, mas não fiz algo assim ainda.
Como eu poderia criar mais colunas dependentes?
Boa tarde, tem o procedimento do vídeo no link a seguir. ruclips.net/video/A8LIKS1gwPI/видео.html
🎉🎉🎉🎉🎉
Obrigado
bom dia.
Grato pelas dias...
Infelizmente testei aqui em uma base que uso no trabalho mas "deu ruim" na linha 9 com a seguinte mensagem...
TypeError: Cannot read property 'range' of undefined (linha 9, arquivo "Código")
Agradeço de puderem me auxiliar
Abs
Boa noite, veja se colocou o parâmetro e dentro do parenteses da função. function onEdit(e)
@@CanalSGP Sim, revisei algumas vezes...
Continuando dando os seguintes erros =/
Função onEdit : "Exception: Selecione uma página ativa primeiro.
at onEdit(Código:4:47)"
Função PegarMotivos: TypeError: Cannot read property 'getRange' of null. at PegarMotivos(Código:62:20)
Obrigado pela ajuda
Boa tarde, infelizmente não sei o que pode ser, não enfrentei este erro até o momento.
@@CanalSGP Obrigado pela ajuda e atenção. Abs
@@leandrobispo9816 fala fera! conseguiu resolver? estou com o mesmo erro e não acho a solução!
Boa tarde, quando vou executar o script, aparece sempre a mensagem "ReferenceError: SpreadsheetsApp is not defined". O que está errado? Obrigado.
Boa tarde, pode ser erro de digitação, se está digitado igual na mensagem acima. SpreadsheetsApp está errado, SpreadsheetApp
@@CanalSGP Oi, professor, eu verifiquei linha por linha e não é isso, está tudo digitado corretamente. O significado do erro em português é "SpreadsheetApp não está definido".
Boa noite, não sei exatamente o que pode ser, teste sair da de todas as contas Google e logar novamente.
TypeError: Cannot read property 'range' of undefined (linha 8, arquivo "Código")Dispensar
Apareceu esse erro para mim, não entendi o motivo.
Bom dia, pela mensagem existe erro de referência a área da planilha na linha oito.
@@CanalSGP E qual é uma possível correção pra esse problema?
Fiz tudo como no video, porem ele gera uma lista vazia nas cidades. Alguem consegue me ajudar com isso?
Boa tarde, talvez seja erro nas referências a planilha.
Caro Professor SGP, obrigado pela aula. Todavia, devo dizer que a macro não está funcionando. Já tentei de diversas formas, mas não foi possível. O erro é o mesmo dos demais listados abaixo. Mesmo quando não apresentou este erro, a macro não funcionou. Poderia disponibilizar o código? Obrigado.
Bom dia, tem outra vídeo aula onde foi disponibilizado o código pronto. ruclips.net/video/A8LIKS1gwPI/видео.html
Eu também estou com o seguinte erro: "Erro
TypeError: Cannot read property 'range' of undefined", que aparece ao evento e.range, que consta da linha 9 do código disponível na aula.
A questão é: como resolver?
Bom dia, testei novamente os códigos e funcionou normal na minha conta, tem mais códigos no arquivo de script além dos do exemplo da aula?
Consegui reproduzir este erro somente executando a função pelo editor, ou seja, a função vai dar erro se executar pelo editor porque não capturou o endereço de uma célula no range, por isso range não definido. Mas no momento que é editado na planilha, captura e executa corretamente.
@@CanalSGP Não... eu fiz exatamente o mesmo código da aula e não tem jeito de funcionar
Experimente testar em outra conta do driver.
@@CanalSGP Deu o mesmo erro
O meu Script também deu o problema abaixo relatado por outros usuários. Na linha do script com o seguinte comando "var Celula = e.range;" dá um erro com a seguinte mensagem "TypeError: Cannot read property 'range' of undefined onEdit" . Nas respostas abaixo não consegui visualizar uma solução para o problema. Alguém conseguiu resolver isso?
Bom dia, veja se colocou dentro do parênteses da função a variável e
Após um dia de teste, testando cada comando do Script individualmente, cheguei a conclusão que esse erro acusado acima não influencia no funcionamento da macro. Consegui que o Script executasse com as seguintes modificações:
=>no comando "regra.requireValueInList(cidades, true);" mudei para "regra.requireValueInList(cidades, true).build();"
=>mudei a ordem dos seguintes comandos....Primeiro coloquei o comando "cidade.setDataValidation(regra);" e somente abaixo coloquei o comando "cidade.ClearDataValidation();" Aliás, a presença ou ausência desse último comando não muda o resultado.
Com essas modificações consegui que fosse formada a lista de validação de acordo com a escolha do país, mas se apago o país, a validação continua ativa na célula, e não é apagada, como diz no vídeo. Esse problema ainda não consegui resolver.
Bom dia, que bom que conseguiu.
Saberia me orientar como faço para que a validação apague quando eu deletar o país, tal como ocorre no vídeo? O comando "cidade.ClearDataValidation();" não funciona.
Bom dia, mas o comando é este, verifique se colocou no lugar correto do procedimento.
Olá!!!
Consegui realizar o codigo exatamente como ensinado.
Não apareceu erro algum e não roda. =/
Boa tarde, experimente colocar uma mensagem dentro da função para verificar se está entrando na função. Outra possibilidade é ter erro no nome da função onEdit.
Caro Prof. SGP, muito obrigado pela aula. Vai me ser muito útil.
Uma pergunta: Qual ferramenta o senhor usou para capturar sua tela e seu áudio? Notei que esta ferramenta dá "zoom in" no setor da planilha (ou da tela) que está sendo usado num dado momento. Bem legal isso. Gostaria de saber se é a ferramenta que o senhor usou que faz isso. Obrigado desde já!
Bom dia, é utilizado o programa camtasia studio, mas o zoom é colocado no momento da edição, com um funcionalidade do próprio programa. Audio é capturado também pelo camtasia, mas com microfone audio technica.
@@CanalSGP gratíssimo, Professor. Grande abraço, e ótima semana.
Tentei e não consegui, acho que digitei algo de errado, nao sei mexer com macro/programação. Mas depois de muito quebrar a cabeça, achei uma solução BEM mais simples pra ter exatamente o mesmo resultado e tendo menos trabalho, apenas usando a função INDIRETO dentro da função TRANSPOR. Em uma aba separada.
Bom dia, tem o procedimento da vídeo aula a seguir com código pronto para baixar. ruclips.net/video/A8LIKS1gwPI/видео.html
fiz o script, mas não deu certo
function onEdit(e) {
var GuiaAtiva = SpreadsheetApp.getActive().getSheetName();
if (GuiaAtiva == "Dados"){
var Celula = e.range;
var coluna = Celula.getColumn();
if(coluna == 1){
var Guia = Celula.getSheet();
var linha = Celula.getRow();
if(linha > 1){
var pais = Celula.getValue();
var cidade = Guia.getRange(linha, coluna+1);
cidade.setValue("");
if (pais==""){
cidade.clearDataValidations();
}else{
var regra = SpreadsheetApp.newDataValidation();
var cidades = PegarCidades(pais);
regra.requireValueInList(cidades, true);
regra.setAllowInvalid(false);
regra.setHelpText("Texto de Ajuda ao Usuário"+pais);
cidade.clearDataValidations();
cidade.setDataValidation();
}
}
}
}
}
function PegarCidades(pais){
var guia = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Paises/Cidades");
var cidades = guia.getRange(2, 1, guia.getLastRow()-1, 2).getValues();
var filtro = [];
for(var i=0; i
Bom dia, qual erro, destacando que deve ser testado na planilha, não pelo editor.
Essa linha de comando está incompleta 'cidade.setDataValidation();' o correto é cidade.setDataValidation(regra);
Muito bom! Parabéns amigo 👏.
Dúvida: existe um código para bloquear a edição da célula após ser escrito algo?
Tenho um planilha compartilhada e gostaria de evitar que a turma editasse os dados uns dos outros.
Por favor, tenho interesse em aprender gostaria de pagar uma aula particular com você, se possível é claro.
51999262288 ZAP.
Abraço!
Bom dia, obrigado, infelizmente até o momento não sei de nenhum procedimento capaz de realizar esta tarefa.
Não funcionou :(
Alguma mensagem de erro no seu código?
Boa aula Professor,tentei fazer de acordo com minha realidade mas não consegui, quero fazer uma lista dependente apartir da linha 3 ,coluna 3 em relação a uma lista suspensa localizada apartir da liha 3, coluna 2. Esse é o script que fiz:
function onEdit(e) {
var GuiaAtiva = SpreadsheetApp.getActive().getSheetName();
if(GuiaAtiva == "9º ANO A MANHÃ Olcino"){
var Celula = e.range;
var coluna = Celula.getColumn();
if (coluna == 2) {
var Guia = Celula.getSheet ();
var Linha = Celula.getRow ();
if (Linha > 2) {
var Interatividade = Celula.getValue ();
var Contexto = Guia.getRange (Linha, 3);
Contexto.setValue ("");
if (Interatividade == "") {
Contexto.clearDataValidation ();
}else{
var regra = SpreadsheetApp.newDataValidation();
var Contexto = PegarContexto (Interatividade);
regra.requireValueInList(Contexto, true);
regra.getAllowInvalid(false);
regra.setHelpText("Selecione um ítem válido:"+Interatividade);
Contexto.clearDataValidation ();
Contexto.setDataValidatio (regra);
}
}
}
}
}
function PegarContexto (Interatividade){
var guia = SpreadsheetApp.getActiveSpreadsheet ().getSheetByName("Dados");
var Contexto = guia.getRange(2, 1, guia.getLastRow()-1,2).getValues();
var filtro =[];
for (var i=0; i
Boa tarde, tente o código pronto da vídeo aula no link a seguir: ruclips.net/video/A8LIKS1gwPI/видео.html