Notifications
Clear all

auto eliminar dados repetidos

4 Posts
3 Usuários
0 Reactions
1,003 Visualizações
(@laeoli)
Posts: 85
Estimable Member
Topic starter
 

Boa Noite!

Pessoal, por favor, solicito vossa maestria: peguei esta rotina aqui mesmo e queria automatiza-la dentro da Planilha de forma que quando o usuário transferir os dados do Userform e se houver dados repetidos identificados pela coluna 2, o excel se encarregasse de excluí-lo sem a necessidade de informar o usuário.


Option Explicit

Private Sub Worksheet_Activate()
Dim nLinComp, nLinFim As Integer

nLinFim = 1

Do While Not IsEmpty(Cells(nLinFim, 2))
nLinFim = nLinFim + 1
Loop

nLinComp = 1
Do While nLinComp <= nLinFim - 2
If Cells(nLinFim - 1, 2).Value = Cells(nLinComp, 2).Value Then
MsgBox "OS DUPLICADA", vbCritical, "Cadastro OS !"
Cells(nLinFim - 1, 2).Activate
Cells(nLinFim - 1, 2).Interior.ColorIndex = 4
Exit Sub
Else
nLinComp = nLinComp + 1
End If
Loop
'Cells(nLinComp + 1, 2).Activate
Cells(nLinFim - 1, 2).Interior.ColorIndex = xlNone
Cells(nLinFim, 2).Interior.ColorIndex = xlNone
End Sub

muito agradecido!!!

 
Postado : 16/12/2013 8:36 pm
(@mykemeris)
Posts: 8
Active Member
 

Option Explicit

Private Sub Worksheet_Activate()
Dim nLinComp, nLinFim As Integer

nLinFim = 1

Do While Not IsEmpty(Cells(nLinFim, 2))
nLinFim = nLinFim + 1
Loop

nLinComp = 1
Do While nLinComp <= nLinFim - 2
If Cells(nLinFim - 1, 2).Value = Cells(nLinComp, 2).Value Then
Cells(nLinFim - 1, 2).Value = empty
Cells(nLinComp, 2).Value = empty

'MsgBox "OS DUPLICADA", vbCritical, "Cadastro OS !"
Cells(nLinFim - 1, 2).Activate
Cells(nLinFim - 1, 2).Interior.ColorIndex = 4
Exit Sub
Else
nLinComp = nLinComp + 1
End If
Loop
'Cells(nLinComp + 1, 2).Activate
Cells(nLinFim - 1, 2).Interior.ColorIndex = xlNone
Cells(nLinFim, 2).Interior.ColorIndex = xlNone
End Sub

 
Postado : 16/12/2013 10:10 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

o excel se encarregasse de excluí-lo

Você pretende excluir as linhas duplicadas ou limpa-las?

Porque pintar um local nas linhas da guia, essa é sua intenção?

Att

 
Postado : 17/12/2013 6:46 am
(@laeoli)
Posts: 85
Estimable Member
Topic starter
 

Boa NOite!

mykemeris, obrigado pela ajuda. Foi quase isso. O código apagou a celula onde estava gravado o n° da OS repetido, mas também limpou a outra celula que já continha a OS cadastrada (original). Na verdade, preciso que apenas a linha que contém a OS repetida seja apagada e assim o registro duplicado seja eliminado.

Ale, eu preciso que o usuário fique a vontade para cadastrar (sem a necessidade de informa-lo que o n° de tal OS já esta cadastrado), porém queria que o Excel identificasse este n° duplicado e apagasse toda a linha sem também, com a necessidade de informar o usuário. Cada n° de OS é único e nunca deve se repetir. Essa planilha esta cheia se SOMA e SOMA.SE, pois, fornecerá informações para a tomada de decisão do PCP.

Mais uma vez obrigado!

 
Postado : 17/12/2013 5:27 pm