Identificar o problema que vai ser solucionado e a criatividade para para que você possa aplicar os conhecimentos que você já tem na ferramenta se você ainda não conhece eu tenho um catálogo.
Virtual que pode te ajudar a estudar VBA eu tenho mais de 256 aulas de VBA publicadas você pode então estudar aqui no canal e tornar-se também um Expert ou um exímio desenvolvedor em VBA na aula.
De hoje nós vamos fazer algo diferente eu recebi uma dúvida bem interessante de como preencher valores em células com base em critério e eu resolvi trazer é um código bem simples que vai utilizar.
Conhecimentos do Duo e o for e o if coisa simples que você já viu aqui no canal para resolver esse problema antes vou mostrar para você como a técnica que eu apliquei vai funcionar nesse caso.
Esta é a planilha que vamos utilizar nessa aula Observe 258 preencher valores por linha você pode fazer depois o download desta planilha em branco lá no meu blog para que você possa ter esse.
Material para praticar o código repare nós temos uma coluna A com vários números un zeros 4 qualquer número que eu colocar aqui ele serve de critério para o preenchimento das minhas células.
Quando o número for zero ele deve replicar os números de 1 a 100 ou criar 100 colunas de valores pode ser x pode ser o que quiser nesse caso na dúvida que recebi era para preencher pelos.
Próprios números de uma 100 eu não sei o processo estou apenas criando um código para ajudar quando clicamos sobre o botão executar Observe rapidamente ele percorre cada uma dessas linhas e.
Encontrando no número zero ele faz o preenchimento de valores se nós trocarmos esses números aqui por Zero e os números zeros anteriores por um ou qualquer outro ele tem que tirar esses.
Números voltando ao Status original clicando em executar você vai ver que é isso que acontece nós vamos nessa aula então criar esse código Essa é a minha planilha ou a minha pasta de trabalho.
Veja Mais Aqui:
- Como Mudar as Cores da Segmentação de Dados no Excel
- HDL Podcast - MARCOS EBERLIN - Hernandes Dias Lopes
- PROCV para Retornar Várias Colunas ficou mais fácil com PROCX
Preenchida Essa é em branco então o que
Nós vamos fazer é fazer o código para que esse esse recurso funcione perfeitamente com base na guia desenvolvedor você vai clicar em novo.Modo de design vamos clicar duas vezes no botão executar e vamos criar o nosso código esse código eu vou puxar aqui um pouco para o lado para que você possa visualizar melhor a forma de.
Criação Vamos definir as nossas variáveis deixa eu reduzir um pouco a minha janela que ela ficou muito grande nós vamos começar definindo as variáveis deste nosso noss exercício.
Então dinm LN vai ser uma variável do tipo long para controlar o número de linhas dinm Call vai ser do tipo inteiro para controlar o número da coluna que nós vamos percorrer a variável W vai ser.
Do tipo worksheet para que eu possa capturar a minha planilha um e usá-la através da variável última Cell é a minha variável de controle para verificar qual é a.
Última célula com dados e ela é do tipo range e a nossa variável a vai ser utilizada do tipo inteiro para o nosso fluxo nosso for depois de criar as variáveis nós.
Temos que inicializá-la então a variável de linha vai ser igual ao número cinco repare que eu preciso começar aqui na linha C A Verificar se os valores são iguais a um ou zero e a minha coluna vai.
Ser igual a 1 que é a coluna Onde está o meu critério antes de começarmos a fazer o fluxo vamos desativar a nossa tela Então nós vamos usar o comando application.
Screenupdating iG assim o nosso processo vai ser agilizado E lembre de já ativar no final para você não esquecer colocando parâmetro vou usar um do events para.
Liberar qualquer atualização de tela que
Precise ser feito e na sequência vamos dar uma mensagem pro usuário M Box processo concluído .Dessa forma podemos então agora nos preocupar com o código efetivamente Como usamos as duas variáveis aqui na parte superior nós vamos também definir aqui o comando set.
Para iniciar a nossa variável w que vai ser igual a planilha um planilha um neste caso não é o nome que você está vendo no ambiente do Excel lembre-se que nós temos um nome do objeto chamado.
Planilha um é o nome do objeto que eu estou controlando por aqui se o usuário mudar o nome da planilha nosso código não dá problema na sequência a nossa variável última célula ela tem que.
Verificar qual é a última linha que tem dados da coluna A assim o nosso fluxo do doa ele para no momento em que ele não encontrar mais dados wcs a linha vai ser.
W.r. count esse valor vai retornar 1 milhão 48.5 76 vírgula e eu quero mapear a coluna A pend XL Você já viu bastante vezes aqui n minhas aulas o recurso de mapeamento da última.
Célula esse recurso é como se nós fôssemos lá para a célula a 1.8.5 76 e pressos control setinha para cima ele vai parar na última célula mapeando então para a nossa variável.
Última cé Qual é aquela que tem dados vamos selecionar a nossa planilha então w. select wcs LN ví call select nós vamos colocar o nosso cursor na primeira célula ativa.
Linha 5 coluna 1 e agora podemos chamar o nosso fluxo faça enquanto w PCs LN V Call pon value seja diferente de vazio ou enquanto a nossa célula pon Row for menor ou igual a.
Nossa última célula loop e para evitar que o nosso Flux torne um fluxo infinito lembre-se de incrementar a nossa variável de controle que é LN = LN 1 esse miolo é.
Onde nós vamos fazer o controle ou a nossa a nossa rotina de verificação das células Então vamos lá if WC LN ví Call ou seja se a linha atual for igual a zer então o que que nós.
Vamos ter que fazer nós vamos colocar a Nosa preenchimento aqui dentro nesse caso esse if vai ser executado quando o valor for zer nós temos que preencher as.
Células com os valores nós vamos fazer isso com o for for a iG 100 next a WC LN V Call mais.
A p iG parece uma instrução de louco né Mas vamos lá o nosso ciclo do for vai fazer 100 vezes aqui o ciclo de 1 a 100 no primeiro ciclo ele vai pegar na.
Nossa linha atual e na coluna atual mais o a ou seja 1+ 1 que é o primeiro ciclo na coluna do ele vai escrever o valor de a Que por sinal é o mesmo valor que nós temos aqui na nossa coluna se os valores.
Aqui da linha qu fossem diferentes fossem textos ou eu teria que mapear para que ele sempre copiasse o resultado daquela linha específica e daquela coluna específica.
Como não é o caso só precisa do número eu vou usar essa rotina e está pronto se nós executarmos esse código agora você vai perceber que ao clicar sobre executar ele já preenche todos os.
Valores das linhas que tem zero só tem um detalhe E se eu trocar um zero por um número por exemplo c e executar novamente ele não vai apagar os valores Então eu preciso incrementar aqui no meu.
Else um for idêntico a esse só que com uma única característica diferenciada ao invés de colocar o valor de a nós vamos usar aqui a propriedade ponto clear contents para ele apagar o conteúdo da.
Minha célula se o valor é zero ele preenche com números se estiver vazio ou se for diferente de zero ele vai preencher então apagando né limpando os os espaços.
E está pronto o nosso código é só isso que precisamos nós vamos salvar essa nossa pasta de trabalho e agora eu vou executar o código como está você vai ver que aonde eu tinha colocado o número C.
Os valores foram apagados aonde tem zero ele preencheu com valores e mesmo que você coloque mais linhas aqui veja só mais linhas com valor zero e Execute ele vai preencher corretamente pois nós.
Mapeamos a última célula com dados com a nossa variável de última célula Vou salvar esse arquivo pressionando f12 e vou gravar o nome dele como gabarito você vai encontrar no material de.
Download lá no meu catálogo virtual também a pasta original para que você possa trabalhar com ela o arquivo está salvo e conseguimos então criar a rotina de preenchimento de.
Valores Como você percebeu foi muito simples criar essa rotina nós precisávamos apenas de um critério que é o número zero nauna a para então repcar esses valores e agora a imaginação a sua.
Imaginação é o limite para que você possa criar outras variações como por exemplo se eu encontrei o número cinco preencho os cinco primeiros valores se eu encontrei o número 99 preenche os 99.
Campos ou se você encontrou o número sei lá 500 preenche as 500 colunas com valores depende agora muito da sua necessidade e esse tipo de código Pode ser adaptado por exemplo para divisão de.
Parcelas de pagamento parcelas de recebimento qualquer coisa que você tenha que dividir dentro das suas rotinas de BBA Você pode adaptar essa rotina que nós acabamos de de explicar.
Espero que tenha gostado dessa aula não se esqueça eu tenho um catálogo virtual que você pode acessar para ter essa e outras aulas de VBA e também de outros temas do YouTube de uma forma muito.
CLique no Link do Vídeo: https://youtu.be/Q6G1ctShjjg