/ Caixa de combinação Excel / VBA

Caixa de combinação Excel VBA

Uma caixa de combinação é uma lista suspensa de onde um usuário pode selecionar um item ou preencher sua própria escolha. Para criar um caixa combo em Excel VBA, execute os seguintes passos.

1. Na guia Desenvolvedor, clique em Inserir.

2. No grupo de controles ActiveX, clique em Caixa de combinação.

Criar uma caixa de combinação no Excel VBA

3. Arraste uma caixa de combinação na sua folha de cálculo.

Arraste uma caixa de combinação

Nota: Você pode alterar o nome de um controle clicando com o botão direito do mouse no controle (verifique se Modo de Design está selecionado) e, em seguida, clicando em Propriedades. Por enquanto, deixaremos ComboBox1 como o nome da caixa de combinação.

Crie um Evento Aberto da Pasta de Trabalho. O código adicionado ao Evento Aberto da Pasta de Trabalho será executado pelo Excel VBA quando você abrir a pasta de trabalho.

4. Abra o Editor do Visual Basic.

5. Clique duas vezes em This Workbook no Project Explorer.

6. Selecione a pasta de trabalho na lista suspensa à esquerda e escolha Abrir na lista suspensa à direita.

Evento Aberto da Pasta de Trabalho no Excel VBA

7. Para adicionar itens à caixa de combinação, adicione as seguintes linhas de código ao Evento Aberto da Pasta de Trabalho:

With Sheet1.ComboBox1
    .AddItem "Paris"
    .AddItem "New York"
    .AddItem "London"
End With

Nota: use Sheet2 se sua caixa de combinação estiver localizada na segunda planilha, Sheet3 se sua caixa de combinação estiver localizada na terceira planilha, etc. Se você usar essas linhas de código fora do evento Open do Workbook, talvez queira adicionar as linhas de código abaixo antes linhas de código. A primeira linha de código limpa a caixa de combinação. Dessa forma, seus itens não serão adicionados várias vezes se você executar seu código mais de uma vez. A segunda linha de código limpa sua própria escolha.

ComboBox1.Clear
ComboBox1.Value = ""

8. Para vincular essa caixa de combinação a uma célula, clique com o botão direito do mouse na caixa de combinação (verifique se o modo de design está selecionado) e clique em Propriedades. Preencha D2 para LinkedCell.

LinkedCell

Nota: veja também a propriedade ListFillRange para preencher uma caixa de combinação com um intervalo de células.

9. Salve, feche e reabra o arquivo do Excel.

Resultado:

Caixa combo

Embora em algumas situações possa ser útil colocar diretamente uma caixa de combinação em sua planilha, uma caixa de combinação é particularmente útil quando colocada em um formulário de usuário.

Leia também: