Creador de buzones de mensajes

El Constructor de Cuadros de Mensajes genera código para Cuadros de Mensajes y Cuadros de Entrada. Se encuentra en el menú UI del Editor VBA:

messagebox builder location

Y en la cinta de opciones de Excel

Buzón de mensajes

vba messagebox builder

Los MessageBox se utilizan para preguntar a los usuarios. El MessageBox por defecto (vbOKOnly), comunica información y simplemente pide al usuario que haga clic en ‘ok’.

msgbox "Completado"
vba code writer

Otros tipos de MessageBox requieren que los usuarios hagan una elección (Ej. OK / Cancelar, Reintentar / Cancelar):

vba messagebox builder options

El área de vista previa muestra el MessageBox actualmente configurado. Simplemente cambie las opciones e inmediatamente el área de vista previa mostrará el MessageBox actualizado y el área de Código Generado mostrará el código generado:

vba messagebox builder preview

Un par de cosas a tener en cuenta:

Puede definir un botón predeterminado haciendo clic en el botón específico de la sección «Botones y botón predeterminado». Este es el botón que se pulsará si el usuario pulsa Intro cuando se muestre el MessageBox. En las dos imágenes anteriores, se ha seleccionado la opción «No» como botón por defecto.

El MessageBox muestra un valor correspondiente al botón que el usuario ha pulsado. En la caja de Código Generado puede ver que se utiliza una sentencia Select Case para manejar las diferentes opciones:

vba messagebox builder generated code
Seleccione la respuesta Case
   Caso vbSí
   Case vbNo
   Case vbCancel
Fin Select

El procedimiento debe realizar diferentes acciones dependiendo de si se selecciona Yes, No, o Cancel. Para ello, introduzca las acciones deseadas en la sentencia Select Case:

Select Case respuesta
    Caso vbSí
        range("a1").value = "yes"
    Case vbNo
        range("a1").value = "no"
    Case vbCancel
        Goto EndMacro
    End Select

Nota: Definir acciones no es necesario con un tipo OKOnly MessageBox ya que sólo hay una opción disponible.

Generador de cuadros de entrada

vba inputbox builder

Los cuadros de entrada piden a los usuarios que introduzcan un valor. Ese valor se asigna a una variable:

Dim answer As Double
answer = Application.InputBox("Tipo de Interés", "Introducir Tipo de Interés", Type:=1)
vba interest rate builder

La parte InputBox del Constructor funciona de forma muy similar a la parte MessageBox. Sin embargo, hay dos opciones que queremos destacar.

Tipo de Entrada

vba messagebox builder input type

Tipo de entrada indica a VBA qué tipo de entrada debe esperar del usuario. Esto permite a VBA determinar si el valor introducido es válido.

Nota: Para evitar errores, cuando se trabaja con input type=Cell Reference, Application.ScreenUpdating debe ser True: Application.ScreenUpdating = True

Valor por defecto La opción de valor por defecto rellena previamente el área de entrada.

vba inputbox generator default value

Comienza a automatizar Excel