Função para retirar repetidos de célula

MR
Marcos Rieper

Especialista em Excel

21 de abril de 2011 Atualizado 08 de julho de 2026 2 min de leitura
Função para retirar repetidos de célula

Objetivo: Retornar apenas valores sem repetição a partir de uma célula usando uma função criada com VBA.

//

Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

 

Esta função foi criada para auxiliar o leitor Hélio Santos Júnior em um problema que são retirados dados de planilhas aonde são realizadas várias medições, porém, estas planilhas retornam valores duplicados em determinadas situações e para subir as informações para o sistema da empresa ele precisa que sejam apenas valores sem duplicação.

Para isso foi criada a seguinte lógica:

'Função que identifica se há repetidos
Public Function lfRepetidosB(ByVal lRange As Range, ByVal lSeparador As String) As Variant

    'Esta instrução faz com que ao tentar inserir um valor duplicado na coleção ele pule para o próximo registro
    On Error Resume Next

    'Recalcula a função automaticamente
    Application.Volatile

    Dim lCel     As Range
    Dim lValores As Variant
    Dim lValor   As Variant
    Dim lUnicos  As New Collection
    Dim i        As Long

    i = 0

    'A função split faz com que os valores sejam separados a partir de um determinado separador, no caso do problema apresentado o separador é
    'espaço, " "
    lValores = Split(lRange, lSeparador)

    'O comando For Each varre a coleção de valores, podendo ser utilizado em Variant ou em Collection
    For Each lValor In lValores
        lUnicos.Add lValores(i), CStr(lValores(i))
        i = i + 1
    Next lValor

    On Error GoTo 0

    i = 1

    'Junta as informações e retorna na função
    While i <= lUnicos.Count
        lfRepetidosB = lfRepetidosB + " " + lUnicos.Item(i)
        i = i + 1
    Wend
End Function

Para determinar esta função como global você pode seguir os passos do artigo Criando Funções Próprias Globais.

Para chamar a função você deve passar os seguintes parâmetros:

=lfRepetidosB(Endereço; Delimitador)

Endereço: a célula que você quer retirar os repetidos, deve ser uma única célula.

Delimitador: o campo que separa as informações, no caso do exemplo é " ". (Espaço)

Exemplo: =lfRepetidosB(A1; " ")

Download — baixe aqui: TirarRepetidos1

Preencha seus dados para receber o link de download no seu e-mail.

Abraço

Marcos Rieper

//

Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

 

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

Perguntas frequentes

O material é realmente gratuito?

Sim. O acesso é gratuito e não exige cadastro.

Preciso ter o Excel instalado?

Recomendamos o Excel 2013 ou superior para todos os recursos.

Como faço para receber atualizações?

As atualizações são automáticas dentro da própria planilha.

Funciona no Excel do Mac?

Sim, funciona no Excel para Windows e para Mac.

Funciona no celular?

É possível visualizar no app do Excel; a edição completa é no computador.

Planilhas relacionadas

Planilha de Fluxo de Caixa

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado