Planilha VBA: Agrupar valores por quantidade e separador

Resumo: Planilha Excel para agrupar valores por grupos de quantidade e separador (vírgula, ponto-vírgula etc) através de macro VBA.

Na primeira empresa que trabalhei com Excel, uma planilha em especial chamou minha atenção.

Não porque ela era complexa ou bonita (na verdade ela era simples e feia), mas porque todas as áreas da empresa usavam.

A planilha tinha uma única função, que era transformar isso:

25478
26526
21238
25322
28323
28291
29100
28609
29968
25907
28916
28430

Em isso:

25478,26526,21238,25322,28323,28291,29100,28609,29968,25907,28916,28430

Ou seja, agrupar valores de uma lista separando-os por vírgula no Excel.

Esses valores poderiam ser a matrícula das pessoas, o ramal, e-mail ou qualquer outro valor.

Exemplos de usos na vida real

Normalmente, os sistemas aceitam valores separados por vírgula para fazer uma ação em lote.

Por exemplo, para enviar um e-mail para várias pessoas, nós simplesmente informamos esses e-mails separados por vírgula:

bruno@email.com,ze@email.com,outro@email.com

Um outro exemplo são os programadores que precisam fazer uma consulta SQL:

select *
from tabela
where email in ('bruno@email.com','ze@email.com','outro@email.com')

E assim por diante…

Por essas e outras que a planilha se tornou fundamental na empresa. Todas as áreas precisavam dela no dia a dia.

Planilha

Baseado nessa necessidade, criei uma planilha com algumas melhorias:

  1. Opção para definir o separador (vírgula, ponto e vírgula, traço…)
  2. Opção para definir o máximo de valores a ser agrupado (quando chega ao limite, automaticamente cria-se outro grupo)

Você pode fazer o dowload dela aqui:

Vídeo

Caso tenha interesse, eu gravei um vídeo rápido mostrando a criação dessa planilha:

Atualização

Após a introdução da função =UNIRTEXTO() no Excel, é possível montar essa planilha sem macros VBA. Isso simplifica bastante o uso e manutenção.

Eu gravei um vídeo sobre esse assunto:

 

Views:
22
Article Categories:
Planilhas

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *