Google Planilhas Avançado - #77 Menus Dependentes Múltiplos

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ธ.ค. 2024

ความคิดเห็น • 92

  • @rodrigoathayde
    @rodrigoathayde ปีที่แล้ว +1

    Muito Bom. Parabens pela explicação. Tirou onda

  • @waltonluz5808
    @waltonluz5808 ปีที่แล้ว +1

    Vídeo excelente! Me ajudou bastante da validação de dados.

  • @adrianodvo
    @adrianodvo ปีที่แล้ว +1

    Explicão impecável, exemplo bem detalhado, boa didática e ótima organização do material. Parabéns! Ganhou um inscrito e um gostei

  • @janainasalsi1118
    @janainasalsi1118 2 ปีที่แล้ว +1

    Muito bom! depois de assistir muitos vídeos de outros canais, este foi o único que consegui fazer funcionar!

  • @rafaelvilela8655
    @rafaelvilela8655 3 ปีที่แล้ว +3

    Excelente aula meu amigo. Por favor, continue sempre com as aulas de google sheets, não deixa de compartilhar teu conhecimento sobre google sheets. Bom demais!

  • @waltermecenas
    @waltermecenas 3 ปีที่แล้ว +5

    Que trabalho incrível esse seu, meu amigo! Salvou minha vida com esse recurso. Estou relutando pra começar a usar o Google Sheets, pois não consigo abrir mão do Excel. Mas precisei desse recurso no Google e vocês são de longe o melhor que encontrei sobre esse assunto!!! Parabéns e, por favor, continuem com esse trabalho!!

  • @amandamelo6718
    @amandamelo6718 ปีที่แล้ว

    Muito bom! Fiquei emocionada quando funcionou, porque já tinha tentado várias vezes! Deus abençoe!

  • @andredesouza
    @andredesouza 3 ปีที่แล้ว +1

    Nem precisa pedir like...pq já é automático pra mim...muito top suas aulas... parabéns.

  • @elielmarques7477
    @elielmarques7477 3 ปีที่แล้ว +1

    top dmais essa aula. Muito obrigado!

  • @juliazaiten8937
    @juliazaiten8937 ปีที่แล้ว +1

    Genial!!! Muito obrigadaaaa!!!

  • @CristianoRangelSchunk
    @CristianoRangelSchunk 3 ปีที่แล้ว +1

    Cara, incrível seu vídeo... Me salvou, estou te seguindo e vou ver se aprendo desde o inicio... Parabéns...

  • @EduardoCardosodosReisSantos
    @EduardoCardosodosReisSantos 3 ปีที่แล้ว +1

    Ótima aula

    • @WebdesignemFoco
      @WebdesignemFoco  3 ปีที่แล้ว +1

      Obrigado pelo feedback!!

    • @EduardoCardosodosReisSantos
      @EduardoCardosodosReisSantos 3 ปีที่แล้ว +1

      @@WebdesignemFoco fiz a implementação mas tive problema a execução da função clearValidation, ela ficava executando intermitente, o IF e.value ! = undenfi estava pulando

    • @WebdesignemFoco
      @WebdesignemFoco  3 ปีที่แล้ว +1

      @@EduardoCardosodosReisSantos undefined

    • @EduardoCardosodosReisSantos
      @EduardoCardosodosReisSantos 3 ปีที่แล้ว +1

      @@WebdesignemFoco sim no IF ele está passando direto, quando comemto a função clearValidation, ele executa normalmente a inserção da validação.

    • @WebdesignemFoco
      @WebdesignemFoco  3 ปีที่แล้ว +1

      @@EduardoCardosodosReisSantos precisava acessar sua planilha pra dar uma olhada. suporte premium webdesignemfoco@gmail.com

  • @adv.ricardobaumannbindo2238
    @adv.ricardobaumannbindo2238 3 ปีที่แล้ว +1

    Parabéns pela aula, gosto muito e acompanho sempre o canal. Quando possível, gostaria de uma aula com menus dependentes em vários níveis (ex: países, regiões, Estados, cidades, bairros etc). Grato

    • @WebdesignemFoco
      @WebdesignemFoco  3 ปีที่แล้ว +2

      A lógica é a mesma, é só ir multiplicando a função

  • @lucianopessanha7437
    @lucianopessanha7437 ปีที่แล้ว

    Por query da pra fazer tb sem script

  • @FranciBahamult
    @FranciBahamult 3 ปีที่แล้ว +2

    Tem alguma maneira de os cabeçalhos irem aparecendo conforme a escolha da coluna anterior?

  • @riogrande-tt4pw
    @riogrande-tt4pw ปีที่แล้ว +1

    Está dando "TypeError: Cannot read properties of undefined (reading 'range')"
    Qual seria a correção possível?
    Copiei e colei o código do site e fiz uma planilha igual. Teria um link de uma funcionando?

  • @angelogiuseppereck9193
    @angelogiuseppereck9193 2 ปีที่แล้ว +3

    Professor, parabéns pelo trabalho! Suporte importante para os usuários do Google Planilhas. Gostaria de esclarecer uma dúvida: não há outra maneira mais prática de trabalhar com os menus dependentes múltiplos, que não seja através do Apps Script? No Excel, por exemplo, é possível fazer isso com a função INDIRETO!

    • @juniorjj05
      @juniorjj05 ปีที่แล้ว

      Também gostaria de saber, ele não te respondeu né.. :/ Vc conheceu descobrir uma função ou forma mais fácil que o App Script?

    • @roplusk
      @roplusk 10 หลายเดือนก่อน +1

      estava com o mesmo problema e encontrei esse vídeo que me salvou: th-cam.com/video/tqFt1RN0cEo/w-d-xo.html. está em inglês mas não tem áudio, apenas assisti e adaptei pra planilha que estava trabalhando e deu certo. espero que ajude!

  • @marlonmessias2879
    @marlonmessias2879 3 ปีที่แล้ว +1

    Incrível!

  • @saramendesds
    @saramendesds ปีที่แล้ว +1

    Como faço para aplicar a mesma regra para duas abas diferentes?

  • @boxbeltrao853
    @boxbeltrao853 3 ปีที่แล้ว +1

    ótima aula, fiquei com dúvida de como posso fazer para replicar o mesmo script para outras páginas ?

    • @WebdesignemFoco
      @WebdesignemFoco  3 ปีที่แล้ว +1

      pra explicar isso teria que marcar um horário de suporte premium. orçamento: webdesignemfoco@gmail.com

  • @edilsonalves2007
    @edilsonalves2007 3 ปีที่แล้ว +1

    No meu dia a dia de trabalho em orgao publico uso varias planilhas para controle de pregoes, as funcoes estao sendo muito uteis para desenvolver o que preciso.

  • @rebios.odinizaguiar5459
    @rebios.odinizaguiar5459 2 ปีที่แล้ว +2

    Bom dia!
    Que tutorial fantástico, parabéns, ótima explicação. Seria possível criar a dependência para mais colunas?
    Por exemplo escolher duas cidades dentro do estado de São Paulo, 1º Coluna: cidade de nascimento, 2º Coluna cidade onde reside.
    Abraços,

    • @WebdesignemFoco
      @WebdesignemFoco  2 ปีที่แล้ว +1

      Sim é possível. basta ir repetindo a mesma lógica do código

    • @rebiodinizaguiar5341
      @rebiodinizaguiar5341 2 ปีที่แล้ว

      @@WebdesignemFoco muito obrigado, executei e funciona, mas não teria uma forma de abreviar, por exemplo, 'C$;G$'. Seria possível na mesma linha de comando? Tentei de tudo (claro, dentro do que entendo, rsrs...).

  • @ferraz5858
    @ferraz5858 ปีที่แล้ว +2

    Excel é sensacional, mas tem a limitação de não estar na nuvem. Então, estou tentando aprender o Google Sheets. O Office Script, como sempre, tem que pagar a licença.

  • @torquato4x428
    @torquato4x428 2 ปีที่แล้ว +1

    Top

  • @rhuanfelipemarianodasilva3108
    @rhuanfelipemarianodasilva3108 3 ปีที่แล้ว +1

    Estou com uma duvida sobre criar menus (validação de dados).
    Eu possuo uma planilha separados por meses e nelas possuem uma coluna com tipos de erros e outra uma de relatório, e eu gostaria de saber se a possibilidade de criar uma menu na aba de relatório buscando por meses ou pelo nome da coluna dos tipos de erros dos meses e aparecer 'indiretamente' os erros que possuem na coluna.

    • @WebdesignemFoco
      @WebdesignemFoco  3 ปีที่แล้ว +2

      Isso vai dar um certo trabalho. Acredito que com script tenha sim

  • @rodolfolacerda2699
    @rodolfolacerda2699 3 ปีที่แล้ว +1

    Muito bom o vídeo! Como que eu faço pra este script funcionar em outra aba, duplicando a aba "menu" pra "menu 2" ? Neste caso cada aba "menu" é um projeto e eu quero usar em outro projeto na mesma planilha. Mto obrigado!

    • @WebdesignemFoco
      @WebdesignemFoco  3 ปีที่แล้ว +1

      Fica difícil te explicar por aqui. Qualquer coisa contrata nosso suporte Premium. Orçamento: webdesignemfoco@gmail.com

  • @thiagotils
    @thiagotils ปีที่แล้ว

    Desculpa pelo meu desconhecimento. Fiz uma planilha igual a sua, com o código exatamente igual ao do vídeo e não funcionou aqui. Após criar o código e salvar, autorizando a execução, precisa fazer algo a mais para ele ser aplicado à planilha? pq realmente não está funcionando aqui. Simplesmente nada acontece. É como se não houvesse nada ali.

  • @michellemarangoni78
    @michellemarangoni78 3 ปีที่แล้ว +1

    Voce poderia deixar o link da planilha para gebte treinar

    • @WebdesignemFoco
      @WebdesignemFoco  3 ปีที่แล้ว +1

      Eu excluo as planilhas, porém os códigos e explicações estão no link da descrição do vídeo

    • @michellemarangoni78
      @michellemarangoni78 3 ปีที่แล้ว +1

      @@WebdesignemFoco não estou conseguindo fazer, dá erro ranger nA LINHA 9.

    • @WebdesignemFoco
      @WebdesignemFoco  3 ปีที่แล้ว +2

      @@michellemarangoni78 os códigos estão na descrição do vídeo, caso queira pode fazer um orçamento de suporte individual também: webdesignemfoco@gmail.com

  • @marcelo_monteiro_mama
    @marcelo_monteiro_mama 2 ปีที่แล้ว +1

    Quanto vc cobra para me ajudar em uma de resultados de golfe ?

    • @WebdesignemFoco
      @WebdesignemFoco  2 ปีที่แล้ว +1

      Orçamento: webdesignemfoco@gmail.com

  • @felipecruz4061
    @felipecruz4061 3 ปีที่แล้ว +1

    Se eu quiser fazer nessa coluna do estado por exemplo … não dar pra repetir o mesmo estado … exemplo … se na linha 3 tem RJ , não posso colocar RJ nem nenhuma outra …. O menu dependente na hora q eu abrir não aparece a opção RJ …. Como fazer isso?

    • @WebdesignemFoco
      @WebdesignemFoco  3 ปีที่แล้ว +1

      Isso é difícil de explicar por aqui. Qualquer coisa solicite um orçamento de suporte premium webdesignemfoco@gmail.com

  • @marcelotuim
    @marcelotuim 3 ปีที่แล้ว +1

    Não funciona com planilha compartilhada? Já tentei vários scripts... nunca funciona. Segui todos os passos exatamente... mas fiz dentro de uma pasta de trabalho compartilhada, apenas criei as abas conforme o tutorial e criei os scripts... mas nao funciona de jeito nenhum. Não sei o que mais fazer.

    • @WebdesignemFoco
      @WebdesignemFoco  3 ปีที่แล้ว +1

      Qualquer script pra funcionar, os usuários da planilha tem que ter permissão de editor, isso é uma regra do google, se a pessoa tiver compartilhada apenas como leitor ela não executa o script.

  • @giovanahiluy8468
    @giovanahiluy8468 3 ปีที่แล้ว +1

    Excelente vídeo! Super explicativo!
    Consegui fazer uma aba com os menus dependentes, mas eu queria aplicar essa dependência para várias abas, no caso seriam 12, uma aba para cada mês.
    Como faço isso?
    Primeiro, criei um script no AppsScript pra aba de janeiro e deu certo, funcionou tal qual o vídeo.
    Depois criei outro script (pra aba de fevereiro), mas quando faço isso o script anterior (janeiro) para de funcionar.
    Assim só consegui os menus dependentes em apenas uma aba.
    Se alguém puder me ajudar em como fazer esses menus dependentes em doze abas distintas, agradeço.

    • @WebdesignemFoco
      @WebdesignemFoco  2 ปีที่แล้ว +1

      Qualquer coisa contrata o suporte premium que te ajudamos webdesignemfoco@gmail.com

    • @juniorjj05
      @juniorjj05 ปีที่แล้ว

      Vc conseguiu? Se sim, como? Também preciso fazer o mesmo para cada mês.

  • @CristianoRangelSchunk
    @CristianoRangelSchunk 3 ปีที่แล้ว +1

    Meu caro, me tira uma dúvida, como eu conseguiria fazer a mesma coisa para 4 planilhas??? Pois estou tentando gerar 4 arquivos de código e não dá certo...

    • @WebdesignemFoco
      @WebdesignemFoco  3 ปีที่แล้ว +1

      Só fazer um cópia e instalar o acionador em cada planilha

  • @paulopaespb
    @paulopaespb 3 ปีที่แล้ว +1

    no meu caso estou utilizando nas colunas P e Q porém está dando o erro, Range not found
    let cell = sheet.getRange('Q${e.range.getRow()}');
    let range = db.getRange('P2:P2000');
    let rule = app.newDataValidation().requireValueInRange(range).build();
    cell.setValidation(rule);

    • @WebdesignemFoco
      @WebdesignemFoco  3 ปีที่แล้ว +3

      No getRange você usa crase e não aspas simples

  • @eficaz2937
    @eficaz2937 2 ปีที่แล้ว +1

    Vídeo com erro, vários comentários, pede ajuda, manda contratar suporte, fácil assim.

    • @WebdesignemFoco
      @WebdesignemFoco  2 ปีที่แล้ว +1

      Kkkk

    • @eficaz2937
      @eficaz2937 2 ปีที่แล้ว +1

      @@WebdesignemFoco Assim fica fácil, posta conteúdo com erro, pra vender suporte.

    • @WebdesignemFoco
      @WebdesignemFoco  2 ปีที่แล้ว +1

      @@eficaz2937 não tem nenhum erro não. Os códigos estão na descrição

    • @eficaz2937
      @eficaz2937 2 ปีที่แล้ว +1

      @@WebdesignemFoco copiei o código identifico, eu e outras pessoas, e vários relatam o mesmo problema.

    • @WebdesignemFoco
      @WebdesignemFoco  2 ปีที่แล้ว +1

      @@eficaz2937 lendo os outros comentários aqui só tem elogios. Se você não consegue implementar um código, você não pode acusar levianamente uma pessoa que está explicando as coisas de graça no TH-cam

  • @assistenciaestudantilifesc3682
    @assistenciaestudantilifesc3682 3 ปีที่แล้ว +1

    A minha lista suspensa fica carregando toda vida... e não está aparecendo as opções... O que estou fazendo de errado? Por que está dando esse erro?

    • @WebdesignemFoco
      @WebdesignemFoco  3 ปีที่แล้ว +1

      Pode ter algum erro no seu código

    • @thaisnunesrosa2196
      @thaisnunesrosa2196 3 ปีที่แล้ว

      Aconteceu isso comigo, mas pq coloquei 1000 linhas (mesmo que em branco), alterei pra 10 e parou de carregar. Rs

  • @FranciBahamult
    @FranciBahamult 3 ปีที่แล้ว +1

    Porque às vezes você usa var e às vezes você usa o let como variável?

    • @WebdesignemFoco
      @WebdesignemFoco  3 ปีที่แล้ว +3

      O certo é let, var não se usa mais

    • @FranciBahamult
      @FranciBahamult 3 ปีที่แล้ว +1

      @@WebdesignemFoco Obrigado por responder vou me atualizar!
      Tô vendo que vou ter que dar uma estudada na linguagem JavaScript...

    • @WebdesignemFoco
      @WebdesignemFoco  3 ปีที่แล้ว +1

      @@FranciBahamult tem o curso aí na playlist do canal

  • @paschoal1394
    @paschoal1394 2 ปีที่แล้ว

    na pausa em 8:00 meu codigo nao funcinou
    está iguazinho do video mas aparece que nao consegue chamar o app.getUIi
    Não é possível chamar SpreadsheetApp.getUi() a partir deste contexto
    let app=SpreadsheetApp;
    let spreadsheet=app.getActiveSpreadsheet()
    let sheet=spreadsheet.getSheetByName("Menus")
    let db=spreadsheet.getSheetByName("DB")
    let ui=app.getUi();
    function onEdit(e)
    {
    if(e.range.getColumn()==2 && e.source.getSheetName() == "Menus"){
    if(e.value != undefined){
    setValidation(e);
    }else{
    clearValidation(e);
    }
    }
    }
    function setvalidation(e)
    {
    let cell = sheet.getRange(`C${e.range.getRow()}`)
    let range = db.getRange(`B1:B10`);
    let rule = app.newDataValidation().requireValueInRange(range).build();
    cell.setDataValidation(rule);
    }
    function clearValidation(e)
    {
    }

  • @ananiasgodoy1883
    @ananiasgodoy1883 8 หลายเดือนก่อน

    Olá, professor. O seu tutorial é o mais completo e exato que vi na Internet sobre esse assunto, e pretende resolver os menus dependentes múltiplos de modo programado, real, sem as "gambiarras" que a gente vê em outros tutoriais, como p.ex., usar a função INDIRECT, ou um monte de IF's.
    Ocorre que segui rigorosamente seu ensinamento, construí uma planilha de exemplo exatamente como a sua, inclusive estados, cidades etc., mas não funciona de jeito nenhum. Transcrevi até o texto do tutorial indicado, mas sempre dá o mesmo erro, veja:
    Erro
    TypeError: Cannot read properties of undefined (reading 'range')
    onEdit @ Código.gs:8
    Como solucionar? Onde estou errando? EM TEMPO: A interface do Google Sheets que uso é ligeiramente diferente, sendo que o Apps Script Editor também.
    Desde já, agradeço a ajuda!

  • @Geovanegr
    @Geovanegr 3 ปีที่แล้ว +1

    Oi, parabéns pelo vídeo.
    Muito útil a funcionalidade!
    Eu fiz tudo certinho conforme o vídeo e o documento.
    A diferença da minha planilha é que começa na célula A e não na B.
    Está dando o seguinte erro:
    Erro
    TypeError: Cannot read property 'range' of undefined
    setValidation @ Definir Campanhas.gs:20
    Segue o script:
    let app=SpreadsheetApp;
    let spreadsheet=app.getActiveSpreadsheet();
    let sheet=spreadsheet.getSheetByName("Demandas");
    let db=spreadsheet.getSheetByName("Campanhas");
    let ui=app.getUi();
    function onEdit(e)
    {
    if(e.range.getColumn()==1 && e.source.getSheetName() == "Demandas"){
    if(e.value != undefined){
    setValidation(e);
    }else{
    clearValidation(e);
    }
    }
    }
    function setValidation(e)
    {
    let cell = sheet.getRange(`B${e.range.getRow()}`);
    let options=db.getRange('A1:Z1').getValues();
    let colData;
    for(let row=0; row < options.length; row++){
    for(let col=0; col < options[row].length; col++){
    if(e.value == options[row][col]){
    colData = col + 1;
    }
    }
    }
    let range = db.getRange(2, colData, 100, 1);
    let rule = app.newDataValidation().requireValueInRange(range).build();
    cell.setDataValidation(rule);
    }
    function clearValidation(e)
    {
    let cell = sheet.getRange(`B${e.range.getRow()}`);
    cell.setDataValidation(null);
    cell.clear();
    }
    Consegue ajudar?

    • @WebdesignemFoco
      @WebdesignemFoco  3 ปีที่แล้ว +1

      Nesse caso precisaria acessar sua planilha. Orçamento de suporte premium: webdesignemfoco@gmail.com

    • @SnudyyBr
      @SnudyyBr 3 ปีที่แล้ว +1

      A minha também está com o mesmo erro, aparentemente está faltando algum retorno do evento undefined

    • @Geovanegr
      @Geovanegr 3 ปีที่แล้ว

      @@SnudyyBr é isso mesmo. Já tentei de tudo aqui, mas não está dando certo.

    • @douglasalbuquerq
      @douglasalbuquerq ปีที่แล้ว

      Estou tendo o mesmo problema

  • @jeffvale2554
    @jeffvale2554 3 ปีที่แล้ว

    fiz igual e não funcionou pra mim; utilizei até a mesma planilha e nada
    erro: TypeError: Cannot read property 'range' of undefined
    onEdit
    let app=SpreadsheetApp;
    let spreadsheet=app.getActiveSpreadsheet();
    let sheet=spreadsheet.getSheetByName("Menus");
    let db=spreadsheet.getSheetByName("DB");
    let ui=app.getUi();
    function onEdit(e)
    {
    if(e.range.getColumn()==2 && e.source.getSheetName() == "Menus"){
    if(e.value != undefined){
    setValidation(e);
    }else{
    clearValidation(e);
    }
    }
    }
    function setValidation(e)
    {
    let cell = sheet.getRange(`C${e.range.getRow()}`);
    let options = db.getRange('A1:J1').getValues();
    let colData;
    for(let row=0; row < option.length; row++){
    for(let col=0; col < option[row].length; col++){
    if(e.value == option[row][col]){
    colData = col + 1;
    }
    }
    }
    let range = db.getRange(2,colData, 100, 1);
    let rule = app.newDataValidation().requireValueInRange(range).build();
    cell.setDataValidation(rule);
    }
    function clearValidation(e)
    {
    let cell = sheet.getRange(`C${e.range.getRow()}`);
    cell.setDataValidation(null);
    cell.clear();
    }

    • @jeffvale2554
      @jeffvale2554 3 ปีที่แล้ว +1

      encontrei o erro... >>> let options = db.getRange('A1:J1').getValues();

    • @ThiagoGrazioli
      @ThiagoGrazioli 2 ปีที่แล้ว

      @@jeffvale2554 Qual foi a solução? Remover o espaço entre let options=db.getRange ???

    • @douglasalbuquerq
      @douglasalbuquerq ปีที่แล้ว

      ​@@jeffvale2554 qual a solução estou com o mesmo erro