quinta-feira, 23 de março de 2017

Preenchendo uma ComboBox

Preenchendo uma ComboBox
Muitas vezes quando trabalhamos com programação se faz necessário criar interfaces mais agradáveis ao usuário final a fim de facilitar a utilização da ferramenta criada. Com isso muitas vezes é necessário que criemos listas de seleção quando queremos que o usuário faça uma escolha dentre uma lista de opções pré-determinadas.

As ComboBox, também conhecidas como caixa de seleção, são itens usados especialmente para essa função, através delas o usuário pode escolher um item dentro de uma lista pré-determinada ao clicar em uma seta ao lado da caixa de seleção. Na Figura 1 temos um exemplo de ComboBox.

Figura 1: Exemplo de ComboBox

Mas como fazer uso dessas caixas de seleção, bom não é um bicho de sete cabeças e você vai aprender agora como preenche-las.

Vamos mostrar três formas de preencher essas ComboBox que poder ser usadas de acordo com a sua necessidade, vamos a ela:

1º Forma:
A primeira e mais simples forma se se preencher uma ComboBox e utilizando a janela de propriedade da ComboBox no canto inferior esquerdo da tela.

Ao selecionar a ComboBox onde deseja que tenha a lista suspensa vá na janela propriedades da ComboBox, la você irá encontrar uma propriedade chamada RowSource nessa propriedade digite entre aspas o nome da planilha seguido do sinal de “!” e o intervalo onde estão os valores que devem estar na ComboBox conforme abaixo:

"planilha!A2:A10"

O problema dessa forma é que ela mostra onde começa e onde termina o intervalo que deve estar listado na ComboBox.

2º Forma:
A segunda forma é parecida com a primeira, porém, ela será digitada não na janela de propriedade, mas sim como código na form na ação inicialize da UserForm.
Nessa forma podemos verificar também que nós não limitamos o intervalo de uma célula a outra, mas sim até a última célula preenchida. Para isso a ação inicialize da UserForm digitaremos o código da seguinte forma: primeiro digita-se o nome da ComboBox seguido de “.RowSourse =” depois entre aspas digita-se o nome da planilha onde esta as informações que devem estar listadas na ComboBox seguido do código para achar a última linha preenchida da coluna conforme exemplo abaixo.

ComboBox1.RowSource = "Plan2!A1:A" & Sheets("planilha").Range("A1").End(xlDown).Row

Nesse código será preenchido até a última linha preenchida da coluna da planilha informada.

3º Forma:
A terceira forma é a mais complexa e complete forma de se preencher a ComboBox. Nela nós vamos usar uma estrutura de repetição, a saber a estrutura Do While... Loop, afim de preencher a ComboBox.

Para isso usaremos a estrutura Do While... Loop para preencher a nossa ComboBox informando que ele deve adicionar os dados da linha da vez enquanto ela não estiver vazia, ou seja, enquanto a estrutura estiver repetindo ela estará preenchendo a ComboBox conforme código abaixo. Lembrando que nessa estrutura de repetição temos que usar uma variável para representar a linha da tabela a qual estaremos incrementando a cada Loop executado.

lin = 1
Do While Sheets("Plan2").Cells(lin, 1) <> ""
  ComboBox2.AddItem Sheets("Plan2").Cells(lin, 1)
  lin = lin + 1
Loop

Para preencher uma ComboBox as três formas acima funcionaram, cada uma com a sua particularidade, estando com o programador a escolha do que lhe melhor atende naquele momento.

Nenhum comentário:

Postar um comentário