Mejoramos el ejemplo de las fechas, controlando la posibilidad de que se introduzca un texto.
El código que usaremos hoy es el siguiente:
Option Explicit
Sub condicional()
'Declaramos una variable numerica
Dim dia As Integer
Dim dato As String
dato = InputBox("Introduce el número de dia entre 1 y 7:")
If (Not IsNumeric(dato)) Then
MsgBox ("Error, has introducido un valor no numérico")
ele
dia = CInt(dato)
If (dia = 1) Then MsgBox ("lunes")
If (dia = 2) Then MsgBox ("martes")
If (dia = 3) Then MsgBox ("miercoles")
If (dia = 4) Then MsgBox ("jueves")
If (dia = 5) Then MsgBox ("viernes")
If (dia = 6) Then MsgBox ("sabado")
If (dia = 7) Then MsgBox ("domingo")
If (dia < 1) Then MsgBox ("Error, has introducido un error demasiado pequeño")
If (dia > 7) Then MsgBox ("Error, has introducido un error demasiado grande")
End If
End Sub
Usamos la función Isnumeric para saber si se ha introducido un número, y en caso contrario se muestra un mensaje de error.
Es preciso almacenar la respuesta del Inputbox en una variable de tipo String, para evitar la ruptura del programa, y luego si es un número convertirla mediante Cint, y almacenarla en una variable numérica.
En este caso también, en realidad, usamos la función Not, que niega lo que se le pase por parámetro, para saber si el valor introducido no es numérico.
If (Not IsNumeric (dato)) ...
En ocasiones es más sencillo aplicar la lógica negativa para resolver un problema, como es en este caso.
No hay comentarios:
Publicar un comentario