Macro VBA para Extrair Lista Única de Coluna de Planilha Excel

Macro VBA para Extrair Lista Única de Coluna de Planilha Excel Nesta aula Vamos trabalhar com uma macro Excel VBA para extrair uma lista única com base nos dados de uma coluna beleza pessoal então vamos para o VBA guia desenvolvedor Visual Basic No meu caso eu vou fazer a macro em um módulo então menu inserir módulo e dentro do módulo sub eu vou chamar esta macro de lista lista única pressionei enter já criou o and sub próximo passo é colocar um sistema de tratamento de erro.

Macro VBA para Extrair Lista Única de Coluna de Planilha Excel

Caso tudo correu bem exit sub Caso contrário vai para erro dois pontos e exibe uma msgBox abre aspas duplas erro ponto exclamação e fecha aspas duplas vírgula vbcritical vírgula abre aspas duplas título da mensagem lista e fecha aspas duplas por enquanto deixem desativado o sistema de tratamento de erro prosseguindo precisamos definir as variáveis da nossa macro dim dados as variant variante aceita dados de qualquer tipo vírgula e tem.

Também as variantes na sequência de lista as New New Collection dm linha as double do tipo número definimos as variáveis próximo passo é capturar o número na última linha com registro então podem copiar a variável linha variável linha igual a uma função para contar quantas células estão preenchidas dentro de uma área referenciada abre e fecha parênteses e dentro dos parênteses precisamos informar a guia da.

Planilha que nós vamos trabalhar No meu caso eu vou trabalhar com a guia nomes mas eu preciso referenciar o nome interno do VBA da Guia que é este planilha um fora dos parentes de volta na função counta dentro dos parênteses planilha1 ponto Range abre e fecha parênteses e dentro dos parênteses abre e fecha aspas duplas e dentro das duplas precisamos referenciar a coluna da planilha no meu exemplo a base de dados está na coluna A de volta no VBA dentro das raspas.

Duplas a dois pontos a no entanto nesta linha de código tem um detalhe se por acaso acima do cabeçalho tiver células vazias precisa somar as células vazias por exemplo se o cabeçalho dos meus dados inicia-se na célula A2 e a célula um estivesse vazia eu ia fazer o seguinte mais um como eu não tenho células vazias acima do cabeçalho não preciso desta parte prosseguindo já sei a última linha com registro já posso capturar os dados podem.

Copiar a variável dados copia e cola e a variável dados vai ser igual a planilha um ponto Range abre e fecha parênteses e dentro dos parênteses precisamos informar a área que nós vamos capturar No meu caso eu vou capturar a partir da célula A2 até a última linha com registro de volta no VBA dentro dos parênteses e dentro das aspas duplas a dois dois pontos a.

Fora das aspas duplas e comercial e aí a variável linha que está com o número na última linha com registro fora dos parênteses ponto value capturamos os dados próximo passo é fazer um laço para percorrer todos os dados extrair uma lista única no entanto na próxima linha de código pode ocorrer um erro então eu já vou prevenir colocando comando on error resume next próximo passo é fazer um laço for.

E a cega e ti variável e tem no nosso rei dados para fechar o laço next i e dentro deste laço nós vamos colocar a variável lista podem copiar e colar variável lista ponto add vai adicionar o que o item vírgula e eu quero uma lista única então comando cstr abre e fecha parênteses e dentro dos parênteses variável item extraímos uma lista única agora pessoal eu vou colocar o seguinte para considerar o sistema de tratamento de erro anterior então erro.

Já temos a lista agora nós precisamos transferir esta lista para a planilha Excel no meu caso eu vou transferir a partir da linha 2 na coluna d e o número da coluna é coluna quatro coluna um dois três quatro de volta no VBA Então eu preciso referenciar a linha dois variável linha igual a dois no entanto antes de salvar a lista eu quero limpar a coluna d então planilha 1 ponto Range abre e fecha parênteses e dentro dos parênteses abre e fecha aspas duplas e.

Dentro das aspas duplas eu vou limpar a partir da célula d dois dois pontos d 10 100 mil 10 mil fora dos parênteses ponto clear contents para limpar apenas o texto mantendo a formatação Ok limpamos a área Já podemos transferir a lista e para transferir a lista nós vamos trabalhar com mais um laço for item então e a cega e tem mas agora considerando a nossa lista variável lista.

Para fechar o laço next item e dentro deste laço a cada item que o laço passar nós vamos transferir o item para a planilha Excel então planilha 1 ponto cells abre e fecha parênteses e dentro dos parênteses variável linha vírgula meu caso eu vou salvar na coluna 4 fora dos parênteses ponto value igual ao item em que o laço está preciso mudar para a próxima linha da planilha então variável linha igual a ela mesma mais um Ok transferimos a lista Agora.

Eu quero fazer o seguinte colocar esta lista em ordem alfabética então planilha um ponto Range abre e fecha parênteses e dentro dos parênteses abre e fecha aspas duplas e dentro das aspas duplas célula d dois dois pontos coluna d fora das raspas duplas e comercial e a variável linha fora dos parênteses ponto sort espaço e aí vocês vão colocar que o um dois pontos igual e aí Preciso referenciar novamente a guia da planilha então planilha 1 ponto Range abre e.

Veja Também:

    Fecha parênteses fazer o seguinte para sair esta mensagem da frente e dentro dos parênteses abre

    E fecha aspas duplas e dentro das aspas duplas d dois dois pontos coluna d fora espaço e comercial e a variável linha pessoal para facilitar a visualização nós vamos fazer o seguinte antes do QI 1 vocês vão colocar underline tecla shift e o tracinho está ali o underline e pressiona enter para continuar a digitação do código na próxima linha.

    E um planilha 1 de 2 até o final dos dados da coluna D depois dos parênteses vírgula espaço mais um underline e pressiona enter e agora nós vamos colocar o seguinte os pontos igual eu quero classificar de a a z então comando XL acendem vírgula e eu preciso informar também que eu não referenciei o cabeçalho dos dados então comandos igual XL.

    Colocamos uma linha de código para classificar a lista em ordem alfabética Como já colocamos a lista na planilha Já podemos fechar o array dados podem copiar o array dados colar no final array dados igual a empty beleza galera feito a macro Já podemos testar salva as alterações para testar nós vamos fazer o seguinte deixa o cursor dentro da macro e coloca o VBA mais para direita e aí vocês vão pressionar.

    A tecla F8 para ir executando linha por linha de código e se alguma linha der erro Nós já vamos verificar está montando a lista show de bola galera está transferindo a lista para planilha classificou a lista em ordem alfabética beleza galera Nossa macro está funcionando corretamente como não aconteceu erro podemos ativar o sistema de tratamento de erro salva as alterações e agora pessoal depois de fazer a macro vocês podem colocar um botão.

    AVISO LEGAL: Toda a responsabilidade do conteúdo e autoria deste vídeo transcrito, é do produtor do canal. Clique no Link do Vídeo: https://www.youtube.com/watch?v=Xixsarl6SgY

Postar um comentário

Post a Comment (0)

Postagem Anterior Próxima Postagem