Ver Mensaje Individual
  #17 (permalink)  
Antiguo 11/12/2011, 06:54
Avatar de erbuson
erbuson
 
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 15 años, 1 mes
Puntos: 53
Respuesta: Crear Array con Strings y que devuelva uno de los valores en random

Hola, aunque no es perfecto, es la idea, así mas o menos funciona,

Código vb:
Ver original
  1. Public Function CronoCero(Optional Segundos As Integer) As String
  2.   ' Si se le indica Segundos, activa el contador
  3.  ' Siempre Devuelve los segundos que faltan
  4.  Static HoraLimite As Date
  5.   If Segundos > 0 Then HoraLimite = DateAdd("s", Segundos, Now)    ' Ahora + Segundos
  6.  CronoCero = Format(HoraLimite - Now, "SS")
  7. End Function
  8.  
  9. Public Sub PruebaCronometro()
  10.   CronoCero 30   'Inicia el cronómetro durante 30 segundos
  11.  Do
  12.     ' En este bucle se efectuaría el proceso deseado
  13.    ' comprobando si el crono ha llegado al limite para salir del bucle
  14.    Range("A1") = CronoCero
  15.     If Val(CronoCero) = 0 Then Exit Do
  16.   Loop
  17.   Range("A1") = ""
  18. End Sub

Te comento que generalmente para esto se utilizaría un formulario con un Timer, pero he intentado solucionarlo así porque por lo que intuyo de momento estás utilizando sólo código.

En cuanto a lo del bloqueo, evidentemente es por el Bucle, por eso te había comentado que este 'crono' debe de ser llamado desde dentro del proceso que estás ejecutando.

Dependiendo de las necesidades, sería la manera de llamarlo. Ten presente que el Do/Loop bloque el sistema mientras no salgas del mismo con alguna instruccion adecuada.

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