Como usar MsgBox e InputBox no VBA para uma melhor interação

Dim response As Integer
response = MsgBox(“Are you sure you want to continue?”, vbYesNo + vbQuestion, “Confirm”)

If response = vbYes Then
    MsgBox “You chose Yes!”, vbInformation, “Result”
Else
    MsgBox “You chose No!”, vbExclamation, “Result”
End If

Conhecendo a caixa de entrada no VBA

Input Box (InputBox) é um recurso do VBA (Visual Basic for Applications) que permite aos usuários inserir dados na forma de texto ou números por meio de uma simples janela de diálogo. InputBox é frequentemente usado para solicitar informações de usuários, como nomes, números, datas ou outros dados necessários no processamento do VBA.

Sintaxe básica de InputBox

A sintaxe básica para exibir InputBox no VBA é a seguinte:

Dim userName As String
userName = InputBox(“Enter your name:”, “Input Data”)
MsgBox “Hello, “ &  userName  & “!”

Explicação do código:

  1. InputBox exibirá uma caixa de diálogo com o texto “Enter your name:”.
  2. Os dados que o usuário digita serão armazenados na variável userName.
  3. MsgBox exibirá a saudação “Olá, [nome inserido]!” depois que o usuário pressionar OK.

Especificando o valor padrão no InputBox

Você pode definir o valor padrão em InputBox para fornecer um exemplo da entrada esperada.

Exemplo de código com valores padrão:

Dim city As String
city = InputBox(“Enter your city name:”“, “Input Data”, “Jakarta”)
MsgBox “You live in “ &  city  & “!”

Explicação:

Validação de entrada do InputBox para garantir que os dados de entrada estejam corretos

Como InputBox só recebe entrada na forma de texto, é importante validar se os dados inseridos são os esperados.

Exemplo de validação de entradas para que não fiquem vazias:

Dim userInput As String
userInput = InputBox(“Enter your email:”, “Input Email”)

If userInput = ““ Then
            MsgBox “Input cannot be empty!”, vbExclamation, “Warning”
Else
            MsgBox “The email you entered: “ & userInput, vbInformation, “Confirmation”
End If

Explicação:

  • Se o usuário pressionar OK sem preencher os dados, um aviso aparecerá.
  • Se houver uma entrada válida, aparecerá uma confirmação com os dados inseridos.

Um exemplo de validação de entrada aceita apenas números:

Dim age As String
age = InputBox(“Enter your age:”, “Input Age”)

If IsNumeric(age) Then
            MsgBox “Your age is “ & age & “ years.”, vbInformation, “Confirm”
Else
            MsgBox “Please enter a valid number!”, vbCritical, “Error”
End If

Explicação:

  • IsNumeric() é usado para verificar se a entrada é um número.
  • Se não for um número, um aviso de erro aparecerá.

Últimos artigos