Notifications
Clear all

retornar nome que mais se repetem

6 Posts
3 Usuários
0 Reactions
870 Visualizações
(@nan)
Posts: 3
New Member
Topic starter
 

Boa noite pessoal.

Sou novo nesse mundo do VBA e estou com uma duvida, que não consegui achar solução em nenhum site, por isso me cadastrei aqui para perguntar a vocês a minha duvida.

é o seguinte, tenho uma planilha onde cadastro o nome de três escolas (Ex. EscolaA, escolaB e escolaC). e eu coloco o nome dos alunos de cada escola.( na escolaA coloco os nomes, João, Pedro, Maria, Pedro, Maria, Jonas, Maria e Augusto)

minha duvida é assim, eu quero selecionar a escolaA e em outra caixa de texto quero que retorne o nome que mais aparece nessa escola.
No caso do exemplo Maria que aparece três vezes.

espero que tenham entendido minha duvida, e desde já agradeço a todos.

 
Postado : 30/06/2016 6:29 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa noite,

Disponibilize um arquivo modelo.

 
Postado : 30/06/2016 7:08 pm
(@nan)
Posts: 3
New Member
Topic starter
 

Ola obrigado pela resposta. segue o arquivo modelo

 
Postado : 30/06/2016 7:28 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa tarde =nan=,

Em anexo coloquei um arquivo com o que montei, de uma olhada.

Enquanto montava, notei que que para fiz práticos você irá ter um problema.
A sua base real deve conter o nome completo dos alunos (Nome + Sobrenome), e essa macro em anexo não separa os nomes dos sobrenomes.

Outro problema que tem é que a macro trás apenas um nome, ou seja se dois nomes tiver 2 ocorrências a macro só vai trazer um.

Você pode olhar os comando que usei no módulo 2 e no botão Buscar.

Se tiver alguma dúvida avise.

Att,

 
Postado : 02/07/2016 1:15 pm
(@osvaldomp)
Posts: 858
Prominent Member
 

Cole uma cópia do código abaixo no módulo do Form

Private Sub ComboBox1_Change()
 Dim k As Long, rng As Range
  k = [A:A].Find(ComboBox1.Value).Row
  Set rng = Range(Cells(k, 2), Cells(k, Cells(k, Columns.Count).End(1).Column))
  Me.TextBox1.Text = Evaluate("INDEX(" & rng.Address & ",MODE(MATCH(" & rng.Address & _
   "," & rng.Address & ",0)))")
End Sub

Osvaldo

 
Postado : 03/07/2016 6:06 am
(@nan)
Posts: 3
New Member
Topic starter
 

boa tarde brunoxro

agradeço sua resposta. Deu tudo certo para o que eu preciso. era exatamente isso.
obrigado!!

att. -=nan=-

 
Postado : 06/07/2016 8:01 am