Reloj en Excel - Ejecución de procedimientos x segundo

Con este largo, pero sustancioso video tutorial quiero dar respuesta a un usuario del canal que inicialmente tenía una dificultad al construir un reloj dentro de una celda que se actualizara cada segundo para así con esto poder ejecutar una serie de procedimientos que realizarán otros cálculos que se mostraban en un libro de Excel.

Pues bien, decidí abordar toda la temática pues me pareció interesante dicho ejercicio. Así y aunque yo sé que no se ajuste al 100% en todos los casos de todos los usuarios del canal, sé que este video tiene conceptos muy interesantes que merecen ser explicados y que les servirán a la hora de abordar un proyecto en VBA.

Por ende, en este video usted encontrará un modo muy sencillo para crear un reloj actualizable en Excel que se muestre en una celda de una hoja de cálculo. Además, podrá ejecutar una serie de procedimientos durante cada segundo de manera indefinida de modo tal que se repitan durante una secuencia de tiempo determinado.

Procedimientos Sub dentro de un módulo en el editor de VBA

Sub SimularHora()
   Range("B3").Value = Format(VBA.Now, "hh:mm:ss")
   Application.OnTime EarliestTime:=VBA.Now + TimeValue("00:00:01"), _
      Procedure:="SimularHora"
   Call Respuesta.GenerarAleatorio9
   Call Respuesta.GenerarAleatorio6
End Sub

Sub DetenerHora()
   Application.OnTime EarliestTime:=VBA.Now + TimeValue("00:00:01"), _
      Procedure:="SimularHora", Schedule:=False
End Sub

Static Sub GenerarAleatorio9()
   Const LimInf As Long = 1
   Const LimSup As Long = 9
   Dim NueveDecimales As Double
   Dim n As Long
   Do
      NueveDecimales = Round((LimSup - LimInf + 1) * Rnd + LimInf, 9)
   Loop Until VBA.Len(VBA.CStr(NueveDecimales)) = 11
   n = n + 1
   ActiveSheet.Cells(n + 1, 7).Value = NueveDecimales
End Sub

Static Sub GenerarAleatorio6()
   Dim x As Long
   x = x + 1
   ActiveSheet.Cells(x + 1, 8).Value = _
      Round(ActiveSheet.Cells(x + 1, 7).Value, 6)
End Sub

Adicionalmente se dan algunos conceptos sobre números decímales en Excel, procedimientos estáticos, y diferencias entre variables de coma flotante (Single y Double).


No hay comentarios.:

Publicar un comentario