Como usar MsgBox e InputBox no VBA do Excel

Quando você cria macros no Excel, muitas vezes precisa interagir com o usuário: exibir uma mensagem, pedir uma confirmação antes de executar uma ação, ou solicitar que o usuário informe um valor. Para isso, o VBA tem duas funções fundamentais: o MsgBox e o InputBox. Neste artigo iremos mostrar como usar essas duas funções com exemplos práticos e prontos para usar nas suas macros.

O que é o MsgBox?

O MsgBox é uma função do VBA que exibe uma caixa de diálogo com uma mensagem para o usuário. Pode ser usada simplesmente para informar algo, como “O processo foi concluído com sucesso!”, ou para fazer uma pergunta e capturar a resposta do usuário, como “Deseja continuar?”.

MsgBox simples: apenas exibindo uma mensagem

Na sua forma mais básica, o MsgBox exibe uma mensagem e tem apenas um botão OK:

Sub ExibirMensagem()
    MsgBox "O processo foi concluído com sucesso!"
End Sub

Quando essa macro for executada, uma janela vai aparecer com a mensagem e um botão OK. O código continua após o usuário clicar em OK.

MsgBox com título personalizado

Por padrão, o título da caixa de mensagem é o nome do projeto VBA. Para definir um título personalizado, use o segundo e o terceiro parâmetros do MsgBox:

MsgBox "O processo foi concluído com sucesso!", vbInformation, "Minha Planilha"

O segundo parâmetro (vbInformation) define o ícone exibido. As opções mais comuns são:

  • vbInformation: ícone de informação (letra i azul)
  • vbExclamation: ícone de aviso (ponto de exclamação amarelo)
  • vbCritical: ícone de erro (X vermelho)
  • vbQuestion: ícone de pergunta (ponto de interrogação)

MsgBox com botões de confirmação

Para fazer uma pergunta ao usuário e capturar a resposta, use o MsgBox com os botões Sim e Não:

Sub ConfirmarAcao()
    Dim resposta As Integer
    resposta = MsgBox("Deseja excluir os dados selecionados?", vbYesNo + vbQuestion, "Confirmação")
    
    If resposta = vbYes Then
        MsgBox "Dados excluídos com sucesso!"
    Else
        MsgBox "Operação cancelada."
    End If
End Sub

O MsgBox retorna um número que representa o botão clicado pelo usuário. As constantes mais usadas são:

  • vbYes: o usuário clicou em Sim
  • vbNo: o usuário clicou em Não
  • vbOK: o usuário clicou em OK
  • vbCancel: o usuário clicou em Cancelar

O que é o InputBox?

O InputBox é uma função do VBA que exibe uma caixa de diálogo com um campo de texto onde o usuário pode digitar um valor. Esse valor é então capturado pela macro e pode ser usado em cálculos, buscas ou qualquer outra ação.

InputBox básico

O uso básico do InputBox é o seguinte:

Sub SolicitarNome()
    Dim nome As String
    nome = InputBox("Digite o seu nome:", "Identificação")
    MsgBox "Olá, " & nome & "! Seja bem-vindo."
End Sub

O primeiro parâmetro é a mensagem exibida para o usuário e o segundo é o título da janela. O valor digitado pelo usuário é retornado como texto e armazenado na variável nome.

InputBox com valor padrão

Você pode definir um valor padrão que já aparece preenchido no campo do InputBox, facilitando a vida do usuário quando há um valor mais comum a ser digitado:

Dim mes As String
mes = InputBox("Digite o mês para o relatório:", "Relatório Mensal", "Janeiro")

O terceiro parâmetro é o valor padrão. Se o usuário não mudar nada e clicar em OK, a variável vai receber “Janeiro”.

Tratando o cancelamento do InputBox

Quando o usuário clica em Cancelar no InputBox, a função retorna uma string vazia. Sempre verifique se o usuário cancelou antes de usar o valor retornado:

Sub BuscarDado()
    Dim codigo As String
    codigo = InputBox("Digite o código do produto:", "Busca")
    
    If codigo = "" Then
        MsgBox "Operação cancelada.", vbExclamation, "Aviso"
        Exit Sub
    End If
    
    ' continua o processamento com o código informado
    MsgBox "Buscando o produto: " & codigo
End Sub

Combinando MsgBox e InputBox em macros profissionais

Na prática, o MsgBox e o InputBox são usados juntos para criar macros mais seguras e amigáveis. Antes de executar ações importantes, use o MsgBox para confirmar com o usuário. Use o InputBox para solicitar parâmetros dinâmicos, como o mês do relatório ou o nome do cliente a ser buscado. Depois da execução, use o MsgBox para confirmar que tudo correu bem.

DOMINE EXCEL COMIGO

QUERO APRENDER EXCEL

Essa combinação transforma macros simples em ferramentas que qualquer pessoa consegue usar com facilidade, mesmo sem saber nada de VBA.

Se você curtiu esse artigo onde mostramos como usar MsgBox e InputBox no VBA do Excel, compartilhe com as suas redes sociais e não se esqueça de deixar um comentário aqui embaixo caso você tenha ficado com alguma dúvida.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *