Inputbox, y botón cancelar!

Estoy con un formulario en excel.
Necesito que el usuario introduzca unos valores, esto lo hago a través de inputbox.
Con el siguiente código
Do
  IntUsoPC = Val(InputBox("Ingrese el uso principal de la pc (1 = Escritorio, 2 = Servidor de Datos, 3 = Juegos/Diseño)", "Uso de la Pc"))
  IntUsoPC = Round(IntUsoPC)
  If IntUsoPC = False Then
   End
  End If
  If IntUsoPC > 3 Or IntUsoPC < 1 Then
   MsgBox "Que es lo que  no entendiste, es facil, 1, 2, o 3!!!!"
  End If
 Loop Until IntUsoPC >= 1 And IntUsoPC <= 3
Uso Val, para que me convierta cualquier cosa que introduzca distinta de un numero a cero. Y al ser cero seguiría en el loop hasta que ingrese un valor correcto.
lo del IF IntUsoPC = False
Lo utilizo para que si apretá el botón cancelar, salga.
Pero el problema que tengo es que en unos casos necesito que el usuario ingrese el valor cero, pero no entiendo por que razón al ingresar al
IF IntUsoPC = False, detecta como que la condicion se cumple y sale.
Si no queda claro, me indican y amplio mis explicaciones.

1 respuesta

Respuesta
1
Lo más sencillo es que leas el valor sobre una variable de texto (string) y después hagas tus comprobaciones. Sería así:
Do
    txt = InputBox("Ingrese el uso principal de la pc (1 = Escritorio, 2 = Servidor de Datos, 3 = Juegos/Diseño)", "Uso de la Pc")
    if txt = "" then end
    if txt = "1" or txt = "2" or txt = "3" then exit do
    MsgBox "Que es lo que  no entendiste, es facil, 1, 2, o 3!!!!"
Loop
IntUsoPC = val(txt)
Hola!SMF!
Tu respuesta no es buena, es Excelente!
Muchísimas gracias, es lo que estaba buscando!
Saludos, y feliz año nuevo!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas