ComboBox com valor não repetidos
Enviado: 07 Mar 2017 às 10:36
Eu não estou conseguindo fazer com que a segunda parte pegue o item uma única vez.
Se eu Mudar o Nome na ComBoxLider para Thiago, eu quero que a minha ComboBoxProjeto me mostre todos os projetos dele, mas sem repeti-los
A minha primeria ComboBox (ComboBoxLider) nunca terá itens repetidos, pois fiz uma lista especifica para ela, mas no caso da ComboBoxProjeto a informção vem de uma base com itens repetidos.
Tentei usar o Dictionary, mas não estou conseguindo.
Essa dúvida também foi postada no fórum mdsn: https://social.msdn.microsoft.com/Forum ... orum=vbapt
obs: Meu conhecimento em VBA é bem limitado
Desde de já agradeço por qualquer ajuda
Se eu Mudar o Nome na ComBoxLider para Thiago, eu quero que a minha ComboBoxProjeto me mostre todos os projetos dele, mas sem repeti-los
A minha primeria ComboBox (ComboBoxLider) nunca terá itens repetidos, pois fiz uma lista especifica para ela, mas no caso da ComboBoxProjeto a informção vem de uma base com itens repetidos.
Tentei usar o Dictionary, mas não estou conseguindo.
Código: Selecionar todos
Private Sub UserForm_Initialize()
Dim linha As Integer, coluna As Integer
TextBoxHoje.Text = Format(Now(), "DD/MM/YYYY")
linha = 13
coluna = 4
Me.ComboBoxLider.Clear
With Sheets("Listas")
Do While Not IsEmpty(.Cells(linha, coluna))
Me.ComboBoxLider.AddItem .Cells(linha, coluna).Value
linha = linha + 1
Loop
End With
End Sub
Código: Selecionar todos
Me desculpem se já existia algo similar, tentei achar, mas não consegui.Private Sub ComboBoxLider_Change()
Dim linha As Integer, colunaProjeto As Integer, colunaLider As Integer
Dim oDictionary As Object
Set oDictionary = CreateObject("Scripting.Dictionary")
linha = 3
colunaProjeto = 5
colunaLider = 6
Me.ComboBoxProjeto.Clear
With Sheets("Base")
Do While Not IsEmpty(.Cells(linha, colunaProjeto))
If .Cells(linha, colunaLider).Value = ComboBoxLider.Value Then
'Do Nothing
If oDictionary.exists(.Cells(linha, colunaProjeto).Value) Then
'Do Nothing
Else
Me.ComboBoxProjeto.AddItem .Cells(linha, colunaProjeto).Value
oDictionary.Add .Cells(linha, colunaProjeto).Value
End If
Else
GoTo Quit
End If
Quit:
linha = linha + 1
Loop
End With
End Sub
Essa dúvida também foi postada no fórum mdsn: https://social.msdn.microsoft.com/Forum ... orum=vbapt
obs: Meu conhecimento em VBA é bem limitado
Desde de já agradeço por qualquer ajuda