Hola, buenas , :DD
Tengo una duda sobre como implementar una comprobacion sobre un inputbox.
Tengo este codigo
'codigo anterior
respuesta = InputBox ("ESCRIBA MOTIVO MERMA", "MERMA")
' demas codigo
El tema es que solo hay 6 tipos de merma, entonces mi idea es hacer una comprobacion sobre SI NO escribe ninguno de los motivos permitidos aparezca un error o advertencia. PERO el tema es que no se como hacerlo.. o sea pense con IF's, pero creo que es muy engorroso hacer un if por cada motivo, porque el programa tendria que comprobar muchas veces cada vez que se ingrese y eso lo haria lento.
Es por eso que vengo a solicitar ayuda a ver si me pueden guiar sobre como hacerlo. Pense que podia ser con WHILE, pero no se como usar WHILE con variables.
Eso, porfavor si alguien me puede ayudar se lo agradeceria mucho.
Los motivos son en este formato :
51
52
53
54
70
71
72
O sea eso seria lo que el usario debiera ingresar y si no, bueno pues que de el error xD.
Saludos y gracias de ante mano.
Una idea:
respuestas = " 51 52 53 54 70 71 72"
respuesta = InputBox ("ESCRIBA MOTIVO MERMA", "MERMA")
if instr(respuestas, " " + respuesta, 1) = 0 then
'No es una respuesta valida
else
'Si es una respuesta valida
end if
Saludos!
Otra idea:
respuesta = InputBox ("ESCRIBA MOTIVO MERMA", "MERMA")
Select Case respuesta
Case 51
'Aquí tu acción por responder 51
Case 52
'Aquí tu acción por responder 52
Case 53
'Aquí tu acción por responder 53
Case 54
'Aquí tu acción por responder 54
Case 70
'Aquí tu acción por responder 70
Case 71
'Aquí tu acción por responder 71
Case 72
'Aquí tu acción por responder 72
Case Else
'Has fallado, melón
End Select
Hola, probé el primero, pero me sale "Error en tiempo de ejecución: No coinciden los tipos", probé cambiando el tipo de variable a; INTEGER, LONG, STRING, pero me sale el mismo error :/.
FiltroMotivoMerma = "51 52 53 61 70 72"
If Combo2.Text = "ABARROTES" Then
MotivoMerma = InputBox("Ingrese Motivo Merma", "Mermas")
If InStr(FiltroMotivoMerma, " " + MotivoMerma, 1) = 0 Then
respuesta = MsgBox("asdf", "asdf")
Else
MotivoMerma = FiltroMotivoMerma
End If
End If
Y el segundo código igual lo probé, pero a pesar de que funciona, después de darme el error "pasa" a lo que sigue del código y la idea es que se repita el InputBox hasta que el usuario ingrese lo que corresponde.
A ver si me pueden echar una mano por favor :D!!
Saludos y gracias de ante mano :D
Pues con un simple while...
Dim error As Boolean = true
While error
respuesta = InputBox ("ESCRIBA MOTIVO MERMA", "MERMA")
error = false
Select Case respuesta
Case 51
'...
Case 52
'...
Case 53
'...
Case 54
'...
Case 70
'...
Case 71
'...
Case 72
'...
Case Else
error = true
End Select
End While
Saludos
HOLA!!!
Noele... uso de variable sin sentido:
"error"
Do
respuesta = InputBox ("ESCRIBA MOTIVO MERMA", "MERMA")
Select Case respuesta
Case 51
'...
Case 52
'...
Case 53
'...
Case 54
'...
Case 70
'...
Case 71
'...
Case 72
'...
Case Else
Exit Loop
End Select
Loop
GRACIAS POR LEER!!!
Gracias por responder!!.
Ahora si funciona como queria :D!!!
Gracias de nuevo!! :D