Cómo usar MsgBox y InputBox en VBA para una mejor interacción

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

Familiarizándose con el cuadro de entrada en VBA

Input Box (InputBox) es una característica  de VBA (Visual Basic for Applications) que permite a los usuarios ingresar datos en forma de texto o números a través de una simple ventana de diálogo. InputBox se utiliza a menudo para solicitar información de los usuarios, como nombres, números, fechas u otros datos necesarios en el procesamiento de VBA.

Sintaxis básica de InputBox

La sintaxis básica para mostrar InputBox en VBA es la siguiente:

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

Explicación del código:

  1. InputBox mostrará un cuadro de diálogo con el texto “Enter your name:”.
  2. Los datos que escriba el usuario se almacenarán en la variable userName.
  3. MsgBox mostrará el saludo “¡Hola, [nombre introducido]!” después de que el usuario presione OK.

Especificar el valor predeterminado en InputBox

Puede establecer el valor predeterminado en InputBox para proporcionar un ejemplo de la entrada esperada.

Código de ejemplo con valores predeterminados:

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

Explicación:

Validación de entrada de InputBox para garantizar que los datos de entrada sean correctos

Dado que  InputBox solo recibe entradas en forma de texto, es importante validar que los datos introducidos sean los esperados.

Ejemplo de validación de entradas para que no estén vacías:

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

Explicación:

  • Si el usuario pulsa OK sin rellenar los datos, aparecerá un aviso.
  • Si hay una entrada válida, aparecerá una confirmación con los datos introducidos.

Un ejemplo de validación de entrada solo acepta 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

Explicación:

  • IsNumeric() se utiliza para comprobar si la entrada es un número.
  • Si no es un número, aparecerá una advertencia de error.

Artículos más recientes