254 - Excel VBA - Identificação e extração de valores com critérios (avançado)

254 - Excel VBA - Identificação e extração de valores com critérios (avançado) Olá seja bem-vinda mais uma aula do meu canal de vídeos no YouTube Meu nome é Alexandre trovato e na aula de hoje vou voltar a falar sobre VBA fazia tempo que eu não gravava sobreviver e eu recebi.

254 - Excel VBA - Identificação e extração de valores com critérios (avançado)

Uma dúvida muito interessante por e-mail e resolvi gravar uma aula sobre ela alguém perguntou como fazer para identificar um número numa sequência numérica.

Identificar os 10 números anteriores a esse número e separados numa outra coluna uma coisa meio estranha mas eu achei interessante a técnica para poder mostrar como as estruturas de repetição.

Podem ser utilizadas aí na prática então primeiro eu vou mostrar para vocês o que é planilha faz depois vou testar um formato diferente você viu no decorrer de todas as minhas aulas de BBA que eu.

Escrevi o código junto de vocês mas muitos aí não tem a o tempo ou não gostam de ficar pausando vídeo praticando isso para mim é um problema porque eu gosto de explicar codificando.

Para poder explicar a linha então resolvi mudar e vou explicar o código pronto dessa vez então depois você me diz aqui nos comentários o que achou tá bom esse material vai estar para.

Download lá no meu site na seção downloads na guia diversas não se esqueça aulas diversas Ok vamos lá como você pode perceber tem aqui uma.

Sequência de números esses números eles vão da coluna A até a coluna w são 23 colunas com valores os valores não se repetem essa era a característica lá da pessoa e ele queria identificar o número.

Como por exemplo 0 a partir da identificação separar os 10 células anteriores a ela e colocar estas células aqui a direita numa nova novas colunas na ordem que.

Aparecem na ordem inversa Então como vocês podem perceber ele vai colocar aqui do último encontrado para o primeiro ou seja um código bem diferente daquilo que a gente está habituado Então.

O que eu vou fazer eu vou eliminar esse preenchimento de cores eu vou eliminar esses valores e vou executar o código primeiro clicando no botão executar como você pode perceber o código é muito.

Rápido o número em questão que ele queria encontrar era zero então ao achar o zero marcamos os 10 anteriores a ele e na sequência colocamos aqui só que o zero poderia passar em qualquer posição.

Veja Mais Aqui:

    Por isso se ele aparecesse no começo

    Apenas as células antes dele deveriam ser mencionadas e isso fez com que o código fosse um pouquinho mais complexo porque nós tínhamos o limite né de.

    Retorno das células até a coluna 1 muito bem então comentando o código vou abrir aqui a janela de desenvolvedor vou abrir o botão executar e aqui você vai você vai ver a execução.

    Passo a passo primeiro eu preciso declarar uma série de variáveis deixa eu fechar aqui a janela do projeto vamos ganhar um pouco de espaço para que você possa ter uma ideia.

    Do que esse código faz a nossa variável ela controla a nossa planilha ativa a variável última CEU serve para controlar a última célula com dados ver número vai ser uma variável que nós.

    Vamos utilizar aqui no decorrer do código veja só vamos localizá-la aqui ver número deixa eu ver se isso foi um teste que eu fiz ver Ok essa variável percebi que eu só usei.

    Aqui para testes LN variável para controle de linha Call variável para controle de coluna que nós vamos percorrer aqui das colunas de AW Qual o destino é a coluna que nós vamos.

    Utilizar para desovar ou colocar aqui os valores que nós vamos extrair a partir do meu fluxo então a minha qual destino vai começar aqui na coluna Y se eu apagar todos.

    Esses dados aqui para baixo e usar a função qual você vai ver que essa é a coluna 25 a w é a coluna 23 conte conte dois nós vamos precisar de dois computadores aqui para saber qual é.

    A posição do meu item dentro da linha se ele tem o espaço suficiente para retornar 10 ou não e depois as nossas duas variáveis de fluxo A e B é muito engraçado porque muitos falam assim olha.

    Não use variáveis de controle de fluxo

    Com as letras a e b ou I fica difícil de entendimento né i j mas esse é um hábito que a gente acaba com adquirindo e não perde nunca Essa é a verdade linha 1.

    Para que o nosso código comece aqui na nossa linha um de valores esses sete w eu estou definindo a minha variável w para manipular a minha planilha 1 só que esse nome sht números.

    Ele está vindo da nossa janela de propriedades o nosso projeto pelo Nossa janela de projetos perdão então se eu clicar aqui em exibir e mostrar o nosso projeto Explorer ou a nossa janela do.

    Projeto vocês vão ver que eu renomeei nas propriedades Desse nosso elemento o seu nome para sht números por isso que nós vamos utilizá-lo dessa forma depois eu vou definir qual é a minha.

    Última célula com dados Afinal eu posso colocar aqui poucas linhas muitas linhas e esse número de linhas depende exclusivamente aí da mapeamento e o meu ciclo vai até a última linha com dados.

    Vamos começar o código apagando o conteúdo das colunas Y até a h como eu tenho aqui mais uma coluna que eu fiz de testes anteriormente eu vou incluir aqui a e também.

    E na coluna A W eu estou utilizando o código depois de mapear a faixa de células ponto interior ponto color que é a cor de preenchimento da célula para xl9 se eu executar esse código até aqui.

    Você vai ver que ele vai simplesmente limpar os conteúdos anteriores limpar o preenchimento das minhas células para que eu possa ter a planilha em branco para começar a trabalhar nós sempre.

    Devemos preparar o ambiente antes de começar a fazer a nossa rotina principal e o nosso fluxo principal vai ser dado como do Iron onde a minha linha atual que a variável que eu estou mapeando.

    Deve ser menor do que a linha da minha última célula feito isso nós vamos definir a coluna 23 ao invés de procurar o zero da esquerda para a direita eu vou procurar o zero da.

    Direita para a esquerda é mais fácil pois eu posso criar um for para poder percorrer as 10 células anteriores então a minha coluna 23 vai ser no meu ponto de partida o meu contador vai ser zero a.

    Coluna de destino 25 Você já viu porque e o meu computador dois vai iniciar como um esse contador dois Nós já vamos utilizá-lo Começando aqui o nosso código nós vamos.

    Selecionar a nossa célula da linha 1 coluna 23 vou colocar um breakport aqui vou executar esse código você vai ver que a nossa célula parou na W1 é aqui que vamos começar o nosso processo e o.

    Primeiro fórum o fórum ele vai começar com a variável a de controle da nossa coluna 23 até a coluna 1 lembre-se na estrutura for podemos fazer.

    Um foco de baixo para cima ou do número menor para o número maior ou do número maior para o número menor desde que você coloca a instrução step - 1 que é o passo do fórum então ele vai começar o.

    Ar veja só com 23 depois ele vai subtraindo um a cada ciclo vou começar selecionando a linha 1 e novamente a nossa célula porque porque dentro do forno nós vamos fazer isso 23.

    Vezes e como esse cursor vai percorrer as minhas células eu preciso fazer com que ele circule e selecione exatamente a linha poderemos até tirar esse elemento aqui do nosso código que ele está a mais.

    Mas vamos lá performance de código é outro problema então se nós vamos pegar primeiro a nossa linha que é A1 coluna 23 e eu vou verificar se essa coluna for igual a.

    Zero se o valor for zero então eu vou entrar na minha rotina principal para poder identificar Quais são os 10 anteriores e transportá-los para as colunas de destino mas se não for zero.

    Ele pula para o indife e vai para o próximo ciclo verificando a próxima célula e assim por diante como eu já coloquei um zero Logo no início veja só se.

    A coluna Então esse comando inteiro ele verifica se o número da coluna atual é menor ou igual a 9 porque eu tenho que colocar aquele limite lembre-se porque eu não posso contar as 10 casas para.

    Trás quando não tiver 10 colunas então se for menor que 9 ele vai pegar a minha variável de controle conte 2 vai pegar a coluna atual que está sendo dado pela variável a e subtrair 1 se não ele vai.

    Pegar realmente os meus 10 valores Olha só eu quero os 10 valores anteriores ao zero feito isso começa o meu segundo for e nesse Ford ele vai de zero até 10 que é.

    O meu contador menos um eu poderia colocar aqui o contador 2 igual a 9 e retirar esse um mas aí eu teria problema com o contador de cima desta forma eu preparei os dois ambientes no mesmo for.

    Se tiverem erro ele vai sair ele vai para o meu ponto de saída porque eu posso extrapolar as minhas colunas né Isso daria um erro catastrófico para isso não acontecer então Criei um ponto.

    De saída e agora eu vou fazer aqui o meu código se nós vamos pegar a nossa linha 1 a coluna de destino 25 e eu vou colar lá naquela coluna deixa eu puxar aqui um.

    Pouco para o lado você vai ver aqui ele vai colocar aqui nessa coluna o conteúdo da nossa célula Qual é esse conteúdo linha atual coluna A.

    Né que é o nosso variável 23 - 1 para ele poder considerar esta variável e menos a variável do ciclo por isso que o meu segundo ciclo começa com zero como ele vai ter que pegar as nove células.

    Anteriores né para formar as 10 células anteriores então ele tem que fazer esse fluxo no número de vezes com duas variáveis de controle tanto quanto a quanto B vou dar o F8 e você vai ver que.

    AVISO LEGAL: Toda a responsabilidade do conteúdo deste vídeo transcrito é do produtor do canal.
    CLique no Link do Vídeo: https://youtu.be/c9BBB7_Cfsc
Wesdigital

Postar um comentário

Postagem Anterior Próxima Postagem