Como personalizar as caixas de mensagem em excel 2016 vba
A flexibilidade do argumento botões VBA torna fácil de personalizar suas caixas de mensagem do Excel. Você pode escolher quais botões para exibir, determinar se um ícone aparece, e decidir qual botão é o padrão (o botão padrão é “clicado” se o usuário pressionar Enter).
Conteúdo
Video: [VBA] Criar e configurar caixas de mensagem (Msgbox)
Você pode usar constantes internas para o argumento de botões. Se preferir, você pode usar o valor em vez de uma constante (mas usando as constantes embutidas é muito mais fácil).
Para usar mais de uma dessas constantes como um argumento, apenas conectá-los com um operador +. Por exemplo, para exibir uma caixa de mensagem com botões Sim e Não e um ícone de exclamação, use a seguinte expressão como o segundo argumento MsgBox:
Video: VBA - Como Usar Caixas de Mensagem "msgbox" no Excel 2013
vbYesNo + vbExclamation
Ou, se você preferir fazer o seu código menos compreensível, use um valor de 52 (ou seja, 4 + 48).
O exemplo a seguir usa uma combinação de constantes para exibir uma caixa de mensagem com um botão Sim e um botão Não (vbYesNo), bem como um ícone de ponto de interrogação (vbQuestion). A constante vbDefaultButton2 designa o segundo botão (Não) como o botão padrão - ou seja, o botão que é clicado se o usuário pressionar Enter. Para simplificar, essas constantes são atribuídos à variável Config e, em seguida, usar configuração como o segundo argumento na função MsgBox:
Sub GetAnswer3 () Dim configuração Como LongDim Ans Como IntegerConfig = vbYesNo + vbQuestion + vbDefaultButton2Ans = MsgBox ( “Processar o relatório mensal?”, Configuração) Se Ans = vbYes Então RunReportEnd Sub
Confira a caixa de mensagem Excel exibe quando você executar o procedimento GetAnswer3. Se o usuário clicar no botão Sim, a rotina executa o procedimento chamado RunReport. Se o usuário clicar no botão Não (ou pressiona Enter), a rotina termina com nenhuma ação. Como o argumento do título foi omitido na função MsgBox, Excel usa o título padrão, o Microsoft Excel.
Video: Excel, 2010, VBA, Caixa de Mensagem, MsgBox
A rotina seguinte é outro exemplo de utilização da função MsgBox:
Video: Excel Avançado VBA - Estrutura do IF com caixa de Mensagem Sim/Não Passo a Passo
Sub GetAnswer4 () Dim Msg As String, Título Como StringDim configuração As Integer, Ans Como IntegerMsg = “Você quer processar o relatório mensal?” Msg = Msg & vbNewLine & vbNewLineMsg = Msg & “O processamento do relatório mensal irá“Msg = Msg & “Demorar cerca de 15 minutos. It “Msg = Msg & “Irá gerar um relatório de 30 páginas para“Msg = Msg & “Todos os escritórios de vendas para o atual“Msg = Msg & “Mês.” Title = “XYZ Marketing Company” config = vbYesNo + vbQuestionAns = MsgBox (Msg, Config, Título) Se Ans = vbYes Então RunReportEnd Sub
Este exemplo demonstra uma maneira eficiente para especificar uma mensagem mais longa em uma caixa de mensagem. Uma variável (MSG) e o operador de concatenação (&) São usados para construir a mensagem de uma série de declarações. A constante vbNewLine insere um caractere de quebra de linha que começa uma nova linha (usá-lo duas vezes para inserir uma linha em branco). O argumento título é usado para exibir um título diferente na caixa de mensagem. Aqui está a caixa de mensagem Excel exibe quando você executar este procedimento.
Você pode usar constantes (como vbYes e vbNo) para o valor de retorno de uma função MsgBox. Aqui estão algumas outras constantes.
Constante | Valor | O que significa |
---|---|---|
vbOK | 1 | Usuário clicou OK. |
vbCancel | 2 | Usuário clicou em Cancelar. |
vbAbort | 3 | Usuário clicou Abort. |
vbRetry | 4 | Usuário clicou em Repetir. |
vbIgnore | 5 | Usuário clicou em Ignorar. |
vbYes | 6 | Usuário clicou Sim. |
vbNo | 7 | Usuário clicou No. |
E isso é muito bonito tudo o que você precisa saber sobre a função MsgBox. Use as caixas de mensagem com cautela, no entanto. Geralmente não há razão para exibir caixas de mensagem que não servem de nada. Por exemplo, as pessoas tendem a ficar irritado quando vê uma caixa de mensagem a cada dia que lê Bom Dia. Obrigado por carregar a projeção orçamentária pasta de trabalho.