While en VBA Excel

Hola alguien me podría ayudar con esto
No sé si es posible que un while funcione con 5 valores
por ejemplo, yo necesito que el usuario me digite una base, pero la base solo puede ser 1,2,3,4,5... La base no puede tomar otros valores que no sean estos.
Ejemplo
dim b,p as integer
b= inputbox("Digite un periodo")
while b <> "1" "2" "3" "4" "5"
p= inputbox("Números no válidos")
b= inputbox("Digite un periodo")
loop
El punto es que ya intenté colocando los números entre comillas, separándolos con comas y nada me funciona..
es posible que el while me acepte 5 valores???
¿Si no es posible que otra método puedo hacer?

2 Respuestas

Respuesta
1
Has probado ha hacer lo mismo usando el for... next:
dim b,p as integer
b= inputbox("Digite un periodo")
for a= 1 to 5
p= inputbox("Números no válidos")
b= inputbox("Digite un periodo")
next a
Respuesta
1
El while no es el que acepta o no los valores, es la variable en sí.
¿Estos valores podrá ser ingresados varios a la vez? Es decir, en un sólo INPUTBOX, se podrá colocar:
¿1 3 5
o debe ser de un en unO? '
Contesta rápido que estoy en línea.
El usuario debe ingresar solo un valor...
La idea es que se verifique si ese valor es igual a 1 o a 2 o a 3 o a 4... si no es igual a ninguno de esos.. que salga un mnsaje de error.. pero la idea...
Gracias
'Algo así??
Sub macroprueba()
Dim temp As Integer
On Error Resume Next
asd:
temp = InputBox("Digite un periodo")
If Err = 13 Then
    MsgBox "Debe ser un dato numerico"
    Err.Clear
    GoTo asd
End If
If IsNumeric(temp) Then
    If temp < 1 Or temp > 5 Then
        MsgBox "El periodo debe ser 1,2,3,4 ó 5."
        GoTo asd
    End If
End If
MsgBox "periodo digitado: " & temp
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas