Como usar a função msgbox no excel 2016 vba

Você provavelmente está familiarizado com a função VBA MsgBox. A função MsgBox, que aceita os argumentos apresentados abaixo, é útil para exibir informações e obter a entrada do usuário simples. É capaz de obter a entrada do usuário, porque é uma função. Uma função, como você provavelmente sabe, retorna um valor. No caso da função MsgBox, ele usa uma caixa de diálogo para obter o valor que ele retorna. Continue lendo para ver exatamente como ele funciona.

ArgumentoO que isso afeta
ProntoOs displays de texto Excel na caixa de mensagem
botõesUm número que especifica quais botões (juntamente com o ícone)
aparecer na caixa de mensagem (opcional)
TítuloO texto que aparece na caixa de mensagem&rsquo-s barra de título
(opcional)

Aqui está uma versão simplificada da sintaxe da função MsgBox:

MsgBox (linha de [, botões] [, título])

Exibir uma caixa de mensagem simples

Você pode usar a função MsgBox de duas maneiras:

Video: Excel Macros (VBA) - Aula 1 - Introdução e MSGBOX

  • Para mostrar simplesmente uma mensagem para o usuário: Neste caso, você não se preocupam com o resultado retornado pela função.

    Video: Soma em Textbox Label Msgbox e Célula de Planilha Excel com códigos VBA

  • Para obter uma resposta do usuário: Neste caso, você se preocupam com o resultado retornado pela função. O resultado depende do botão que o usuário clica.

Se você usar a função MsgBox, por si só, não inclua parênteses em torno dos argumentos. O exemplo a seguir simplesmente exibe uma mensagem e não retorna um resultado. Quando a mensagem é exibida, o código pára até que o usuário clica em OK.



MsgBox MsgBoxDemo () Sub “Clique em OK para começar a imprimir.” Sheets ( “Resultados”). PrintOutEnd Sub

Olhe abaixo para ver como esta caixa de mensagem parece. Neste caso, a impressão começa quando o usuário clica em OK. Você percebe que não há nenhuma maneira de cancelar a impressão? Continue lendo para descobrir como consertar isso.

Uma caixa de mensagem simples.

Uma caixa de mensagem simples.

Obter uma resposta a partir de uma caixa de mensagem

Se você exibir uma caixa de mensagem que tem mais do que apenas um botão OK, você provavelmente vai querer saber qual botão o usuário clica. Você está com sorte. A função MsgBox pode retornar um valor que representa qual botão é clicado. Você pode atribuir o resultado da função MsgBox a uma variável.

Video: Função Somases em Textbox Label Msgbox e Célula de Planilha Excel VBA

No código a seguir, algumas constantes embutidas são usados ​​que tornam mais fácil trabalhar com os valores devolvidos pelo MsgBox:

Sub getAnswer () Dim Ans Como Longans = MsgBox ( “Comece a imprimir?”, VbYesNo) Select Case AnsCase vbYesActiveSheet.PrintOutCase vbNoMsgBox “Impressão cancelada” SelectEnd End Sub
ConstanteValorO que faz
vbOKOnly0Exibe único botão OK.
vbOKCancel1Exibe botões OK e Cancelar.
vbAbortRetryIgnore2Displays Abortar, repetir, e botões Ignorar.
vbYesNoCancel3Exibe Sim, Não, e cancelar botões.
vbYesNo4Exibe botões Sim e não.
vbRetryCancel5Displays Repetir e Cancelar.
vbCritical16Mostra o ícone Mensagem crítica.
vbQuestion32Exibe ícone Consulta aviso.
vbExclamation48Exibe ícone de mensagem de aviso.
vbInformation64Exibe o ícone Informação Mensagem.
vbDefaultButton10O primeiro botão é padrão.
vbDefaultButton2256Segundo botão é padrão.
vbDefaultButton3512Terceiro botão é padrão.
vbDefaultButton4768Quarto botão é padrão.

Confira como parece. Quando você executa esse procedimento, a variável Ans é atribuído um valor de qualquer vbYes ou vbNo, dependendo de qual botão o usuário clica. A declaração Select Case usa o valor de Ans para determinar qual ação o código deve executar.

Video: Usando o MsgBox no VBA - Parte 1

Uma caixa de mensagem simples, com dois botões.
Uma caixa de mensagem simples, com dois botões.

Você também pode usar o resultado da função MsgBox sem o uso de uma variável, como demonstra o seguinte exemplo:

Sub GetAnswer2 () If MsgBox ( “Iniciar impressão?”, VbYesNo) = vbYes depois ‘... [código se Sim é clicado] ... Else‘... [código se Sim não é clicado] ... End Sub IfEnd

Publicações relacionadas