Notifications
Clear all

Barrar a entrada de dados duplicados

5 Posts
3 Usuários
0 Reactions
904 Visualizações
(@flaviocruz)
Posts: 0
New Member
Topic starter
 

Pessoa boa tarde
Sou novo por aqui e estou meio que aprendendo vba na marra, e gostar da ajuda de vocês.

Gostaria que quando eu clicar no botão de cadastrar, faça uma busca no meu banco de dados e se tiver um nome já cadastrado nele, aparece um msgbox "Competidor já cadastrado", bloqueando esse nome de entrar no banco de dados.
Sub CadastrarCompetidor()

contador = 3

While Plan3.Cells(contador, 1) <> ""

contador = contador + 1

Wend

Plan3.Cells(contador, 1) = Plan3.Range("e4").Value

Application.ScreenUpdating = False 'Aceleração (se desejado)

'Descreva aqui todas as células desejadas (entre aspas):
Celulas = Array("e4")

cAtual = ActiveCell.Address

For i = 0 To UBound(Celulas)

Range(Celulas(i)).Select
Selection.ClearContents
Next i
Range("a3:a500").Select
ActiveWorkbook.Worksheets("Cadastro Competidor").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Cadastro Competidor").Sort.SortFields.Add Key:= _
Range("a3:a500"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal

With ActiveWorkbook.Worksheets("Cadastro Competidor").Sort
.SetRange Range("A3:a500")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Range("e4").Select 'Volta à célula anteriormente selecionad

Application.ScreenUpdating = True

End Sub

Obrigado desde já

 
Postado : 22/03/2016 12:53 pm
(@mprudencio)
Posts: 0
New Member
 

Pesquisa por nome é um problema no VBA pois vc precisa manter um padrao na hora do cadastro e isso depende de quem cadastra.

Se vc cadastar

Marcelo G

e depois tentar cadastrar

MARCELO G

o excel vai entender como nomes diferentes e vai permitir o novo cadastro.

Não sei se existe um modo de fazer mudar isso no VBA mas isso me parece uma limitação do mesmo.

Seria muito melhor vc apos cadastrar todos os dados no cadastro excluir duplicados pois desta forma Marcelo G é igual a MARCELO G

 
Postado : 22/03/2016 1:42 pm
(@trindade)
Posts: 0
New Member
 

Boa tarde, FlavioCruz.

Levando em consideração o que o nosso amigo MPrudencio falou, uma forma de contornar seria inserir os dados em caixa alta.
No arquivo anexo insere os nomes com letra maiúscula contornando a limitação do Excel.

Segue um exemplo:

 
Postado : 22/03/2016 1:59 pm
(@flaviocruz)
Posts: 0
New Member
Topic starter
 

Bom dia amigos
MPrudencio mas se eu manter um padrão tem como fazer algo para impedir o cadastro duplicado no começo?

Pois quem vai usar esse sistema será somente eu.

Desde já
Obrigado

 
Postado : 23/03/2016 7:53 am
(@flaviocruz)
Posts: 0
New Member
Topic starter
 

Amigos

Nem que for para mudar de como esta na planilha normal para um userform

 
Postado : 23/03/2016 8:01 am