Script para LOCALIZAR CÉLULA VAZIA em Coluna de Planilha Google Sheets

Поділитися
Вставка
  • Опубліковано 2 гру 2024

КОМЕНТАРІ • 46

  • @EstevoCarioca
    @EstevoCarioca 4 роки тому +1

    Seu trabalho é incrível!! Nunca desista, você faz tão bem e com tanta vontade de ensiar que da gosto de ver! Estou aprendendo muito com você e sempre que tenho alguma dúvida minha primeira busca é aqui no seu canal.

    • @CanalSGP
      @CanalSGP  4 роки тому

      Boa noite, obrigado, sucesso em seus estudos.

  • @lirydossantosvieira8366
    @lirydossantosvieira8366 3 роки тому +2

    Ótimo me ajudou muito. Este script combinado com o de envio de e-mail resolveu meu problema. Muito obrigado...

    • @CanalSGP
      @CanalSGP  3 роки тому

      Boa noite, obrigado, que bom que conseguiu.

  • @matheusvicente9790
    @matheusvicente9790 Рік тому

    Ótima aula, porem teria alguma maneira de "limitar" o código baseado em outra coluna?
    Por exemplo, eu gostaria que o código fosse até a última célula preenchida na coluna A.

    • @CanalSGP
      @CanalSGP  Рік тому

      Boa tarde, acredito que seja o mesmo código deste vídeo, só vai alterar as referências.

  • @marcoantoniomontanari7848
    @marcoantoniomontanari7848 Рік тому

    muito bom, pode me ajudar de como fazer script para localizar celula vazia e preencher o valor com a celula acima.

    • @CanalSGP
      @CanalSGP  Рік тому

      Bom dia, obrigado. Segue exemplo:
      guia.getRange(linha, 3).setValue(guia.getRange(linha - 1, 3).getValue());

  • @viniciuspatricio308
    @viniciuspatricio308 2 роки тому

    Muito bom o vídeo, mas teria algum jeito de usar o script ensinado no vídeo
    "Macro de Script para COPIAR DADOS de uma Guia para Outra no Google Sheets"
    junto com esse para ele identificar a ultima linha com dados de uma determinada coluna, como a coluna C ao invés de verificar as informações da coluna A.
    Agradeço desde ja!

    • @CanalSGP
      @CanalSGP  2 роки тому

      Boa tarde, teste no lugar da variável linha colocar o código a seguir.
      var linha = 1;
      while(guiadados.getRange(linha, 3).isBlank()==false){
      linha = linha + 1
      }

  • @fillipvalentim8268
    @fillipvalentim8268 3 роки тому

    Parabéns pela didática! Estou tentando criar uma macro que teria que fazer determinada função: Copiar todos os dados da linha onde a célula estiver selecionada, exemplo: Célula selecionada "S1421" da "aba GERAL" , logo toda linha 1421 da "aba GERAL" seria copiada para a aba "PROCESSOS ARQUIVADOS" e colada na primeira linha vazia da coluna A. Em seguida volta para a aba "GERAL" e exclui a linha que acabou de ser copiada, neste caso "1421".

    E por fim a mensagem "Processo arquivado com sucesso!".

    Este seria o comando e que toda vez que ele for acionado através do botão "ARQUIVAR", fazer todo o processo onde a célula estiver selecionada célula "S50", "S935", etc.

    Estou com dificuldades, pois não consigo referenciar através da célula secionada para que o comando funcione. Fiz um teste definindo a linha (mas preciso que seja onde a célula estiver selecionada). Vou postar aqui:

    function CopiareColar2() {
    var spreadsheet = SpreadsheetApp.getActive();
    var sheet = spreadsheet.getActiveSheet();
    sheet.getRange(spreadsheet.getCurrentCell().getRow(), 1, 1, sheet.getMaxColumns()).activate();
    spreadsheet.setActiveSheet(spreadsheet.getSheetByName('PROCESSOS ARQUIVADOS'), true);
    spreadsheet.getRange('GERAL!10:10').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
    spreadsheet.setActiveSheet(spreadsheet.getSheetByName('GERAL'), true);
    spreadsheet.getActiveSheet().deleteRows(spreadsheet.getActiveRange().getRow(), spreadsheet.getActiveRange().getNumRows());
    };

    O problema é que ele só copia a linha 'GERAL!10:10' quando cola na aba PROCESSOS ARQUIVADOS, cola na célula A1 e não na célula vazia da coluna A.

    • @CanalSGP
      @CanalSGP  3 роки тому +1

      Bom dia, vou estudar uma lógica neste sentido, se obtiver sucesso posto vídeo no canal.

    • @fillipvalentim8268
      @fillipvalentim8268 3 роки тому

      @@CanalSGP Acho que este script pode ajudar. Mas ainda não consegui rodar entre as duas abas.
      gist.github.com/develmaycare/4e72e72ae0be85a8efe7a525267afbc3

    • @CanalSGP
      @CanalSGP  3 роки тому +1

      Boa tarde, vou dar uma olhada no script.

  • @thaispeixoto7579
    @thaispeixoto7579 2 роки тому

    Muito bom! Funcionou aqui. Mas como faço para que ele preencha automaticamente todos os campos vazios? Sem que eu tenha que clicar em executar a todo momento?

    • @CanalSGP
      @CanalSGP  2 роки тому

      Boa tarde, obrigado, para salvar ou editar é outro procedimento, segue link de exemplo. ua-cam.com/video/BuRERRDyqKg/v-deo.html

  • @fabiobairros3582
    @fabiobairros3582 Рік тому

    Parabéns !! E para verificar se uma célula específica está vazia ou não ?

    • @CanalSGP
      @CanalSGP  Рік тому +1

      Boa tarde, acredito que vai precisar de if. Ex:
      If (Celula == ""){
      está vazia
      }

  • @ronaldoprfguitar7361
    @ronaldoprfguitar7361 2 роки тому +1

    Muito bom o script entretanto se temos muitas linhas ele torna-se lento, as estruturas em loop tem esta deficiencia, será que não existe nenhum metodo com matrizes que seja mais eficiente? Parabens estou sempre acompanhando seu trabalho!

    • @CanalSGP
      @CanalSGP  2 роки тому

      Bom dia, obrigado, acredito que com array ficaria mais rápido, capturando todos os dados da coluna e percorrendo pelo array para ver quantas linhas tem dados.

    • @ronaldoprfguitar7361
      @ronaldoprfguitar7361 2 роки тому

      essa formula resolve, usando as propriedades da planilha,ficou bem rápido!

    • @ronaldoprfguitar7361
      @ronaldoprfguitar7361 2 роки тому

      let targetRow = (sheetDestiny.getRange('a1:a').getNextDataCell(SpreadsheetApp.Direction.DOWN).getRow() + 1);

    • @ronaldoprfguitar7361
      @ronaldoprfguitar7361 2 роки тому

      digo código e não formula

    • @CanalSGP
      @CanalSGP  2 роки тому

      Que bom que resolveu.

  • @evertonguedes6889
    @evertonguedes6889 2 роки тому

    Se ao invés de localizar uma linha vazia eu quiser localizar um texto ou palavra na planilha como faço??

    • @CanalSGP
      @CanalSGP  2 роки тому

      Boa tarde, talvez o procedimento do vídeo no link a seguir atenda sua necessidade. ua-cam.com/video/IKKoBAm0TiU/v-deo.html

  • @brunomarques78
    @brunomarques78 3 роки тому

    Rapaz, seus vídeos são muito bons. Parabéns pela didática.
    Eu tô procurando um script para por na planilha para quando eu clicar em um botão (Novo Lançamento), a planilha ir para a próxima célula vazia da coluna A, mas não estou achando. Tentei fazer por macro mas não deu certo

    • @CanalSGP
      @CanalSGP  3 роки тому +1

      Bom dia, obrigado, exatamente neste sentido ainda não tenho lógica.

  • @LF-jg2ew
    @LF-jg2ew 2 роки тому

    Como faço para localizar a última linha apenas nas colunas que eu selecionar?

    • @CanalSGP
      @CanalSGP  2 роки тому +1

      Boa tarde, único procedimento que sei até o momento é o deste vídeo, mas é para uma coluna.

    • @LF-jg2ew
      @LF-jg2ew 2 роки тому

      @@CanalSGP Entendo, para uma coluna eu já achei. O que eu não consigo é selecionar um range da coluna B até F e aplicar o getLastRow()...Mas obrigado pela resposta mesmo assim 👍

  • @cortesflash2921
    @cortesflash2921 3 роки тому

    tem como adicionar uma coluna numa planilha dinamicamente pelo appsheets?

    • @CanalSGP
      @CanalSGP  3 роки тому

      Boa tarde, não fiz nada com appsheets até o momento.

  • @raulgondim9207
    @raulgondim9207 3 роки тому

    fiz conforme mostra no video, mas aqui fica um loop eterno, o que sera que aconteceu, o codigo esta correto, ja verifiquei
    pode me ajudar ?

    • @CanalSGP
      @CanalSGP  3 роки тому +1

      Boa tarde, é difícil dizer de certeza o que pode ser, compare o código da aula:
      function linhavaziacoluna() {

      var planilha = SpreadsheetApp.getActiveSpreadsheet();
      var guia = planilha.getSheetByName("Dados");

      var linha = 1;


      while(guia.getRange(linha, 3).isBlank()==false){
      linha = linha + 1
      }

      guia.getRange(linha, 3).setValue("TESTE");



      Browser.msgBox(linha);


      }

    • @raulgondim9207
      @raulgondim9207 3 роки тому

      @@CanalSGP estava correto, mas veja o erro que aparece:TypeError: Cannot read property 'getSheetByName' of null

    • @CanalSGP
      @CanalSGP  3 роки тому

      Bom dia, verifique se o nome renomeado da planilha está exatamente igual ao que colocou no código, se tiver algum espaço por exemplo, não vai funcionar.

    • @Luccas_Alves
      @Luccas_Alves 3 роки тому

      @@CanalSGP Tô com o erro
      TypeError: Cannot read property 'getRange' of null

  • @plexricardo
    @plexricardo 2 роки тому

    boa tarde aqui deu erro aparece erro de informção

    • @CanalSGP
      @CanalSGP  2 роки тому +1

      Boa tarde, não enfrentei esta mensagem de erro ainda, não sei dizer exatamente o que pode ser.

    • @plexricardo
      @plexricardo 2 роки тому +1

      @@CanalSGP descobri o que era

  • @brunomarques78
    @brunomarques78 3 роки тому

    Como usa o Get Last Row?

    • @CanalSGP
      @CanalSGP  3 роки тому +1

      Bom dia, getlastrow localzia a última linha de toda a guia da planilha, não em coluna específica, pelo menos até hoje não encontrei uma forma de localizar com este comando em determinada coluna.

  • @LucasGaraschenco
    @LucasGaraschenco 9 місяців тому

    dica: coloca os scripts na descrição assim da de copiar e colar

    • @CanalSGP
      @CanalSGP  9 місяців тому

      Boa tarde, já fiz isso algumas vezes. Além de prejudicar muito o canal, acaba gerando mais dúvida devido falta de entendimento dos scripts, devido não acompanhar o passo a passo.