MS Excel - Populando Combobox - Multi-Column



Mais uma necessidade que se nos apresenta no dia-a-dia, popular combobox em formulários.

Nível da implementação: Intermediário.
Versão em que foi testada: 2000 - 2007.
Descrição: Um combobox é disponibilizado com 10 linhas e treze colunas de informação.

Option Explicit

Private Sub UserForm_activate()
Dim MyList(10, 10) 'Definindo como array.
' O combobox neste exemplo contém 3 colunas - Implemente quantas colunas desejar

With ComboBox1
.ColumnCount = 3
.ColumnWidths = 75
.Width = 220
.Height = 15
.ListRows = 6
End With

' Definindo tanto a lista como o local de onde obter os dados (Colunas A, D, G)
With ActiveSheet
' MyList (Linha{0 to 9}, Coluna{primeira}) = (Coluna A neste exemplo) ' Não se esqueça de continuar acrescentando para LINHA e COLUNA ' iniciando do zero Não de um MyList(0, 0) = .Range("A1")
MyList(1, 0) = .Range("A2")
MyList(2, 0) = .Range("A3")
MyList(3, 0) = .Range("A4")
MyList(4, 0) = .Range("A5")
MyList(5, 0) = .Range("A6")
MyList(6, 0) = .Range("A7")
MyList(7, 0) = .Range("A8")
MyList(8, 0) = .Range("A9")
MyList(9, 0) = .Range("A10")
' MyList (Linha {0 to 9}, Coluna{segunda}) = (Coluna D neste exemplo) MyList(0, 1) = .Range("D1")
MyList(1, 1) = .Range("D2")
MyList(2, 1) = .Range("D3")
MyList(3, 1) = .Range("D4")
MyList(4, 1) = .Range("D5")
MyList(5, 1) = .Range("D6")
MyList(6, 1) = .Range("D7")
MyList(7, 1) = .Range("D8")
MyList(8, 1) = .Range("D9")
MyList(9, 1) = .Range("D10")
' MyList (Linha {0 to 9}, Coluna {Terceira}) = (Coluna G neste exemplo) MyList(0, 2) = .Range("G1")
MyList(1, 2) = .Range("G2")
MyList(2, 2) = .Range("G3")
MyList(3, 2) = .Range("G4")
MyList(4, 2) = .Range("G5")
MyList(5, 2) = .Range("G6")
MyList(6, 2) = .Range("G7")
MyList(7, 2) = .Range("G8")
MyList(8, 2) = .Range("G9")
MyList(9, 2) = .Range("G10")
End With
' Agora populamos o Combobox
ComboBox1.List() = MyList
End Sub


Como usar:
  1. Abra uma planilha MS Excel
  2. Selecione Editor Visual Basic (Tools/Macro/Visual Basic Editor)
  3. Na janela do editor VBA (VBE window), selecione Insert/UserForm
  4. Selecione ComboBox a partir da caixa de ferramentas (toolbox), cole-o no Formulário
  5. Clique o botão direito do mouse no formulário
  6. Selecione Inserir código
  7. Então copie e cole o código acima
Testando o código:
  1. Digite alguns dados nas colunas A, D e G na planilha
  2. Exiba o formulário novamente, agora verá as três colunas preenchidas no Combobox

Tags: VBA, Office, Application, Automation, field,  Plan, planilhas, column, Excel, Multi-Collumn, populando, combobox, 

3 comentários:

  1. Rapaz, isso sim é um tuto...
    Parabéns, qm sabe se eu nascer de novo, possa programar deste modo, eheheh

    ResponderExcluir
  2. Bom, me ajudou muito amigo, parabéns!

    ResponderExcluir
  3. Poxa, Valeu mesmo!Tava caçando isso mó cara!!
    Deus abençoe!!!

    ResponderExcluir

diHITT - Notícias