Página 1 de 1

Localizar Repetido e excluir linha da tabela

Enviado: 30 Jan 2019 às 16:30
por SandroLima
Boa tarde, pessoal.

Precisando do auxílio dos colegas...

Tenho uma tabela onde os valores da coluna código podem se repetir... preciso de uma rotina para excluir a linha inteira da tabela em que os valores na coluna código se repetem MANTENDO UM ÚNICO REGISTRO.

Precisava na forma de módulo em que precise declarar a variável (no caso o nome da coluna da tabela) uma vez que vai ser aplicado em várias abas da planilha em colunas com nomes diferentes.

Ao final, exibir uma mensagem informando a quantidade de registros que foram excluídos.

Segue planilha anexa para teste.

Re: Localizar Repetido e excluir linha da tabela

Enviado: 31 Jan 2019 às 16:40
por SandroLima
Boa tarde, pessoal.

Alguém tem sugestões ou poderia ajudar com essa rotina?

Localizar Repetido e excluir linha da tabela

Enviado: 01 Fev 2019 às 11:38
por JCabral
Experimente o código para apagar os duplicados:


Código: Selecionar todos
Sheets("MATRIZ").Range("TB_Registros").RemoveDuplicates Columns:=4, Header:=xlYes
E tende adaptar este código para contar os duplicados_
Código: Selecionar todos

Sub Summarize(rngSource As Range, rngTarget As Range)
    Dim d As New Scripting.Dictionary
    Dim rng As Range
    Dim var As Variant

    For Each rng In rngSource
        If rng <> "" Then
            If d.Exists(rng.Value) Then
                d(rng.Value) = d(rng.Value) + 1
            Else
                d.Add rng.Value, 1
            End If
        End If
    Next rng

    rngTarget = "Value"
    rngTarget.Offset(, 1) = "Count"
    Set rng = rngTarget.Offset(1)
    For Each var In d.Keys
        rng = var
        rng.Offset(, 1) = d(var)
        Set rng = rng.Offset(1)
    Next
End Sub

Re: Localizar Repetido e excluir linha da tabela

Enviado: 01 Fev 2019 às 17:28
por SandroLima
Olá, JCabral.

O código para remover duplicado serviu muito bem para o que eu precisava.

Sobre a contagem dos valores duplicados que foram excluídos o "bicho pegou"...

Não consegui adaptar o código que você passou pq ainda não me "aventurei" por esse modelo de construção de código.

Mas vou continuar estudando e testando.

De qualquer forma... muito obrigado.