Como usar vba para exibir excel 2016 built-in caixas de diálogo

Video: Vídeo Aula 31 - Inserindo Calendário POP UP - Data automática em Textbox VBA

Ser um programador VBA pode ser esmagadora às vezes. Uma maneira de olhar para VBA é que é uma ferramenta que lhe permite imitar os comandos do Excel. Por exemplo, considere esta declaração VBA:

Range ( “A1: A12”). Name = “MonthNames”

Executar essa instrução VBA tem o mesmo efeito que a escolha de nomes Fórmulas → Definidos → Definir nome para exibir a caixa de diálogo Novo nome, digitando MonthNames na caixa Nome e A1: A12 na caixa refere-se, e clicando em OK.

Quando você executar a instrução VBA, a caixa de diálogo Novo nome não aparece. Isso é quase sempre o que você quer acontecer- você não quer que as caixas de diálogo piscando em toda a tela, enquanto seus macro executa.

Em alguns casos, no entanto, você pode querer o seu código para exibir um dos do Excel muitos built-in caixas de diálogo e permitir que o usuário fazer as escolhas na caixa de diálogo. Você pode fazer isso usando VBA para executar um comando da fita. Aqui está um exemplo que exibe a caixa de diálogo Novo nome. O endereço no Refere-se A caixa representa o intervalo que está selecionado quando o comando é executado.

Exibindo uma das caixas de diálogo do Excel usando VBA.
Exibindo uma das caixas de diálogo do Excel usando VBA.
Application.CommandBars.ExecuteMso “NameDefine”

Seu código VBA não pode obter qualquer informação a partir da 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 digitado pelo usuário ou o intervalo que está sendo chamado.



O ExecuteMso é um método do objecto CommandBars e aceita um argumento: um parâmetro idMso que representa um controlo da fita. Infelizmente, esses parâmetros não são listados no sistema de Ajuda. E porque a fita não foi em torno de sempre, código que usa o método ExecuteMso não é compatível com versões anteriores do Excel 2007.

Aqui está outro exemplo de como usar o método ExecuteMso. Esta declaração, quando executado, exibe a guia Fonte da caixa de diálogo Format Cells:

Video: Excel VBA Exibir e Ocultar Planilhas

Application.CommandBars.ExecuteMso 
“FormatCellsFontDialog”

Se você tentar exibir uma caixa de diálogo embutido em um contexto incorreto, Excel exibe uma mensagem de erro. Por exemplo, aqui está uma declaração que mostra a caixa de diálogo Número Formato:

Application.CommandBars.ExecuteMso “NumberFormatsDialog”

Se você executar essa instrução quando não é apropriado (por exemplo, uma forma é selecionada), o Excel exibe uma mensagem de erro porque essa caixa de diálogo é apropriado apenas 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 da fita Personalizar da caixa de diálogo Opções do Excel. A forma mais rápida de chegar lá é para a direita; clique em qualquer controle de fita e escolha Personalizar a Faixa de Opções no menu de atalho.

Praticamente todos os comandos disponíveis no Excel está listado no painel da esquerda. Encontrar o comando que você precisa e passar o cursor do mouse sobre ele, e você vê seu nome comando secreto na dica de ferramenta (é a parte entre parênteses).

Usando a guia Personalizar Faixa de Opções para identificar um nome de comando.
Usando a guia Personalizar Faixa de Opções para identificar um nome de comando.

Publicações relacionadas