Excel planilha vba duplicados procedimentos e formulas retornam duplicados

Dom, 21 de Novembro de 2010 07:16 Expedito Marcondes
Imprimir

Saberexcel - o site de quem precisa aprender Macros Microsoft Excel VBA

Esses procedimentos e fórmulas do Aplicativo Microsoft Excel VBA,usando o Evento Worksheet_Change, retorna um determinado valor duplicado digitado na coluna(A) da folha de planilha, também contém exemplo na planilha do uso de fórmulas para formatação de dados duplicados. A fórmula é essa: '=SE(CONT.SE($C$9:$C$16;C9)>1;"< DUPLICADOS!";"") . baixe o exemplo de planilha no final da página.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim vLinha, vLinhaFinal As Integer ' Declara nLinha com Inteiro
If ActiveCell.Column = 1 Then ' só funciona na coluna 1
vLinhaFinal = 1 ' Define qual é linha onde inicia-se os dados para achar i final da lista

Do While Not IsEmpty(Cells(vLinhaFinal, 1)) ' Faça enquanto não for vazia as células de valores informado
vLinhaFinal = vLinhaFinal + 1 ' Incrementa uma linha para baixo
Loop ' Faz o Loop

vLinha = 1 'Define qual é linha que inicia-se os dados para comparação
Do While vLinha <= vLinhaFinal - 2 ' Faça enquanto conter valores informado
If Cells(vLinhaFinal - 1, 1).Value = Cells(vLinha, 1).Value Then ' Caso o último valores informado for igual ao valores em comparação então...
MsgBox "Valores duplicado", vbCritical, "Cadastro valores !" 'Exibe uma mensagem
Cells(vLinhaFinal - 1, 1).Activate 'Ativa o valores em duplicidade
Cells(vLinhaFinal - 1, 1).Interior.ColorIndex = 4 ' Formata o interior da célula em verde
Exit Sub ' Finaliza Código
Else ' Senão
vLinha = vLinha + 1 ' Vai para o próximo valores da lista
End If ' Finaliza IF
Loop ' Faz o Ciclo
Cells(vLinha + 1, 1).Activate ' Não achando duplicidade, ativa a próxima célula
If vLinhaFinal > 1 Then Cells(vLinhaFinal - 1, 1).Interior.ColorIndex = xlNone ' Retira o formato do interior da célula em verde, caso contiver
If vLinhaFinal > 1 Then Cells(vLinhaFinal, 1).Interior.ColorIndex = xlNone ' Retira o formato do interior da célula em verde, caso contiver
End If
End Sub ' Encerra o código



Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel



   Baixe o exemplo de planilha contendo o procedimento acima
Excel planilha vba duplicados procedimentos e formulas retornam duplicados (33.71 kB)

Tags:
Última atualização em Sáb, 13 de Agosto de 2011 18:35