Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

B_R

Combobox sem repetição de valores e ordenados

Mensagens Recomendadas

B_R

Boas...precisava de uma ajudinha (bem grande)

Aqui está o meu dilema:

Tenho uma worksheet do estilo,            A        B

                                                              ABC  123

                                                              DEF  456

                                                              ABC  789

                                                              DEF  101112

OU SEJA, tenho um formulário para inserir dados nas colunas A e B (Na coluna A os dados inseridos podem ser repetidos)...

no formulário de pesquisa queria que a 1.ª Combobox apresentasse os valores da coluna A, sem estarem repetidos e ordenados...(neste caso apenas ABC e DEF uma única vez cada), e ao seleccionar um desses valores queria que a 2.ª Comobobox fosse preenchida com os valores a que corresponde na coluna B (Caso 1.ªCmb = ABC -> 2.ªCmb 123 e 789, e assim sucessivamente)

É possivel?

E se for, alguém pode dar uma ajudinha...please...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulosemblano
Option Explicit

Private Sub UserForm_Initialize()
Dim OCOLLECTION As New Collection
Dim VARVALUE As Variant
Dim I As Long
On Error Resume Next
For Each VARVALUE In Plan1.Range("A2:A" & Plan1.Range("A65536").End(xlUp).Row)
OCOLLECTION.Add VARVALUE, VARVALUE
Next
For I = 1 To OCOLLECTION.Count
ComboBox1.AddItem OCOLLECTION.Item(I)
Next I
End Sub

Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
ComboBox2.Clear
Dim I As Long
For I = 2 To Plan1.Range("A65536").End(xlUp).Row
If ComboBox1.Value = Plan1.Range("A" & I).Value Then
   ComboBox2.AddItem Plan1.Range("B" & I).Value
End If
Next I
End Sub

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jpmoreira50

Boa tarde

Sou um curioso destas coisas, tentei utilizar o código, mas falta-me algo. Poderá ser disponibilizado o ficheiro para eu poder compreender totalmente a forma de proceder?

Muito obrigado 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
B_R

Para eu utilizar na minha DB tive de fazer algumas alterações...

Mas se criares um ficheiro com as colunas q escrevi no ex e depois criares um form com 2 combo e sem alterares propriedades, escreveres o codigo, vai funcionar...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
B_R

Boa tarde

Sou um curioso destas coisas, tentei utilizar o código, mas falta-me algo. Poderá ser disponibilizado o ficheiro para eu poder compreender totalmente a forma de proceder?

Muito obrigado

Caso n consigas executar o codigo, e caso tenhas MO 2003 em PT tens que alterar Plan1 para Folha1...

Este pode ser um motivo pelo qual n consegues executar o codigo...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jpmoreira50

Boa tarde

Perfeitamente esclarecido, mas ao fazer essa consulta haverá possibilidade de introduzir uma nova linha com os dados escolhidos? Seria uma melhoria considerável.

Thanks

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Patropi

Boas

Desculpe reabrir este tópico, mas eu preciso de um código igual a esse mas que retorne os dados numa comboBox da planilha e não num form.

Numa ComboBox ou numa lista de validação, da Plan1, retorne os nomes sem repetição e em ordem alfabética.

Os dados se encontram na coluna A da Plan2, com cabeçalho na Linha A1.

Dê preferencia usar range dinâmico pois na coluna A serão digitados mais nomes.

Obrigado e boas festas!

Editado por Patropi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.