Descricao: |
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 Microsoft Excel VBA - SaberExcel
|