Vídeo: Como fazer Caixa de Combinação no Excel (Caixa de listagem Drop Down) 2025
Ser um programador VBA pode ser esmagador às vezes. Uma maneira de ver o VBA é que é uma ferramenta que permite imitar os comandos do Excel. Por exemplo, considere esta declaração VBA:
Range ("A1: A12"). Name = "MonthNames"
Executar esta instrução VBA tem o mesmo efeito que escolher Fórmulas → Nomes Definidos → Definir Nome para exibir a caixa de diálogo Novo Nome, digitar MonthNames na caixa Nome e A1: A12 na caixa Referências e clicando em OK.
Quando você executa a declaração VBA, a caixa de diálogo Novo Nome não aparece. Isso é quase sempre o que você quer que aconteça; você não deseja que caixas de diálogo piscem na tela enquanto sua macro é executada.
Em alguns casos, no entanto, você pode querer que seu código exiba uma das muitas caixas de diálogo integradas do Excel e deixe o usuário fazer as opções na caixa de diálogo. Você pode fazer isso usando VBA para executar um comando Ribbon. Aqui está um exemplo que exibe a caixa de diálogo Novo nome. O endereço na caixa Referências para representa o intervalo selecionado quando o comando é executado.
Aplicação. CommandBars. ExecuteMso "NameDefine"
Seu código VBA não pode obter qualquer informação na caixa de diálogo. Por exemplo, se você executar o código para exibir a caixa de diálogo Novo nome, seu código não pode obter o nome inserido pelo usuário ou o intervalo que está sendo nomeado.
O ExecuteMso é um método do objeto CommandBars e aceita um argumento: um parâmetro idMso que representa um controle de fita. Infelizmente, esses parâmetros não estão listados no sistema de Ajuda. E porque a fita não existe para sempre, o código que usa o método ExecuteMso não é compatível com as versões anteriores ao Excel 2007.
Aqui está outro exemplo de usar o método ExecuteMso. Esta declaração, quando executada, exibe a guia Fonte da caixa de diálogo Formatar células:
Aplicação. CommandBars. ExecuteMso"FormatCellsFontDialog"
Se você tentar exibir uma caixa de diálogo embutida em um contexto incorreto, o Excel exibirá uma mensagem de erro. Por exemplo, aqui está uma declaração que exibe a caixa de diálogo Formato de número:
Aplicação. CommandBars. ExecuteMso "NumberFormatsDialog"
Se você executar esta instrução quando não for apropriado (por exemplo, uma Forma está selecionada), o Excel exibe uma mensagem de erro porque essa caixa de diálogo é apropriada somente para células da planilha.
Excel tem milhares de comandos. Como você pode encontrar o nome do que você precisa? Uma maneira é usar a guia Personalizar fita da caixa de diálogo Opções do Excel. A maneira rápida de chegar lá é clicar com o botão direito do mouse em qualquer controle de fita e selecionar Personalizar a faixa de opções no menu de atalho.
Praticamente todos os comandos disponíveis no Excel estão listados no painel esquerdo. Encontre o comando que você precisa e passe o mouse sobre ele, e você vê seu nome de comando secreto na dica de ferramenta (é a parte entre parênteses).
