Con la instrucción InputBox podemos hacer que una macro nos pida un dato. Si necesitamos que la respuesta sea de un tipo determinado, podemos validar esa respuesta. Por ejemplo, supongamos que el valor ingresado no puede ser mayor que 100:
Sub Menor100()
Do
valor = Val(InputBox(“Indique un número no mayor que 100”))
Loop Until valor <= 100
MsgBox(“Su número es el ” & valor)
End Sub
Esta macro pide un valor numérico y repite el pedido hasta que (en inglés: “until”) ese valor sea menor o igual que 100. El siguiente ejemplo exige que el valor ingresado sea una fecha:
Sub Fecha()
Do
valor = Val(InputBox(“Ingrese una fecha”))
Loop
Until IsDate(valor)
MsgBox(“La fecha ingresada es ” & valor)
End Sub
En este caso, usamos la función IsDate (es fecha) para verificar que el dato ingresado sea, efectivamente, una fecha. Se pueden usar expresiones similares para otro tipo de condiciones.