Como preencher uma Caixa de Combinação com dados provenientes de um Intervalo Nomeado no Excel?
Pode preencher uma caixa de combinação (controlo ActiveX) com dados de um determinado intervalo ao definir esse intervalo na propriedade **ListFillRange** da caixa de combinação. Mas sabe como preenchê-la com dados de um **intervalo nomeado** no Excel? Por exemplo, suponha que atribuiu um nome a um intervalo de células na sua folha de cálculo e agora pretende associar esse nome a uma caixa de combinação. Ao selecionar esse nome numa caixa de combinação, todos os valores do respetivo intervalo nomeado deverão ser automaticamente carregados noutra caixa de combinação. Este artigo apresenta um método em VBA para resolver este desafio.
Preencher a caixa de combinação com dados de um intervalo nomeado com código VBA
Preencher a caixa de combinação com dados de um intervalo nomeado com código VBA
Siga os passos abaixo para preencher a caixa de combinação com dados provenientes de um intervalo nomeado no Excel.
1. Selecione todos os cabeçalhos (neste caso, A1:E1) na sua folha de cálculo e, em seguida, introduza um nome na Caixa de Nome, conforme mostrado na imagem seguinte.

2. Selecione os dados de cada coluna, exceto o respetivo cabeçalho, e atribua-lhes nomes individuais na Caixa de Nome. Veja a imagem:
Neste exemplo, os intervalos A2:A8, B2:B8, C2:C8, D2:D8 e E2:E8 foram nomeados, respetivamente, como Data, Loja, Artigos, Vendas e DiaSemana.

3. Em seguida, insira uma caixa de combinação clicando em Programador > Inserir > Caixa de Combinação (Controlo ActiveX). Veja a imagem:

4. Repita o passo 3 para inserir outra caixa de combinação na folha de cálculo.

5. Clique com o botão direito no separador da folha e, em seguida, clique em Ver Código no menu de contexto. Veja a imagem:

6. Na janela do Microsoft Visual Basic para Aplicações que se abre, copie e cole o seguinte código VBA na janela de código.
Código VBA: Preencher caixa de combinação com dados de um intervalo nomeado
Private Sub ComboBox1_Change()
'Updated by Extendoffice 2018/1/30
Dim xRg As Range
Set xRg = Range(Me.ComboBox1.Text)
Me.ComboBox2.List = Application.WorksheetFunction.Transpose(xRg)
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim xRg As Range
Set xRg = Range("Headers")
Me.ComboBox1.List = Application.WorksheetFunction.Transpose(xRg)
End Sub Nota: No código, ComboBox1 é o nome da caixa de combinação onde serão listados todos os nomes das células e ComboBox2 é o nome da caixa de combinação onde serão preenchidos os dados do intervalo nomeado especificado. «Headers» é o nome da célula que criou no passo 1.
7. Desative o Modo de Estrutura clicando em Programador > Modo de Estrutura.
8. Clique em qualquer célula da folha de cálculo para ativar o código. Depois, clique na seta da primeira caixa de combinação e veja todos os intervalos nomeados listados. Veja a imagem:

Ao selecionar um intervalo nomeado na primeira caixa de combinação, os respetivos dados das células serão preenchidos na segunda caixa de combinação, conforme ilustrado na imagem seguinte:

Crie facilmente Lista suspensa com caixas de verificação no Excel:
A funcionalidade Adicionar caixas de seleção à lista suspensa do Kutools para Excel permite-lhe criar facilmente listas suspensas com caixas de verificação num intervalo limitado, na folha ativa, no livro atual ou em todos os livros abertos — conforme as suas necessidades.
Transfira e experimente já! (teste gratuito de 30 dias)
Artigos relacionados:
- Como copiar o valor da Caixa de Combinação para a célula ativa no Excel?
- Como exibir o formato de data na saída da caixa de combinação no Excel?
- Como impedir ou desativar a introdução de texto numa caixa de combinação no Excel?
- Como preencher uma caixa de combinação com dados específicos ao abrir o livro no Excel?
- Como preencher automaticamente outras células ao selecionar um valor na lista pendente do Excel?
As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos