Ver Mensaje Individual
  #9 (permalink)  
Antiguo 05/10/2010, 05:48
Avatar de erbuson
erbuson
 
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 15 años
Puntos: 53
Respuesta: Ayuda con Condiciones

Hola:

No se si tienes alguna razón especial para no utilizar el GOTO personalmente pienso que las funciones recursivas deben utilizarse con mucho cuidado porque tienden a agotar el espacio de pila y a meterse en bucles complicados.

Si estás empezando, creo que con el GOTO lo vas a ver mucho mas claro.

Te dejo tu ejemplo corregido para que veas como funciona.


Código:
Sub ejemplo()
Arriba:
  x = InputBox("escribe un numero")
  ' Si es nulo, salimos de la rutina
  If x = "" Then Exit Sub
  
  ' Si no es un número avisamos y volvemos arriba
  If Not IsNumeric(x) Then
    MsgBox "Ingresa Solo Numeros", 1 + 48
    GoTo Arriba
  End If

  ' Si está entre 1 y 10 aplicamos el valor
  If x >= 1 And x <= 10 Then
    Range("A1").Select
    ActiveCell.FormulaR1C1 = x
  Else
   ' En caso contrario avisamos y volvemos arriba
   MsgBox "Escoje un numero entre el 1 y el 10 ", 1 + 48
   GoTo Arriba
  End If

End Sub
Como puedes ver el MsgBox no tiene porque devolver un valor como tu hacías si sólo hay una opción y no deseamos condicionarla.

Saludos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...