Es posible en VBA excel, ejecutar un código constantemente desde que se le da el play? Que esté todo el tiempo funcionando?

Primero quiero contar que estoy conectado a un autómata entonces las variables cambian automáticamente. Mi objetivo es que el programa esté activo todo el tiempo y cada vez que se active un bit realizar la lectura de los datos de una columna y mandarlos a una matriz o array de dos posiciones para después graficarlo. Lo que sucede es que tengo que darle al play cada vez que quiero ejecutarlo y no me resulta funcional. Acepto ayuda de todo tipo en: [email protected]

1 respuesta

Respuesta
1

Iker Colomo

Puedes usar el método "OnTime" del objeto "Application"

OnTime hace que puedas ejecutar una macro a una determinada hora.

Te pongo un ejemplo haciendo que se ejecute una macro cada segundo.

Crea un módulo, pega este código y ejecútalo.
El resultado es que la celda A1 irá aumentando de uno en uno hasta llegar a 10

Puedes adaptar este ejemplo a tus necesidades.

Sub Macro()
   'Aumentamos una unidad el valor de la celda A1
   ActiveSheet.Cells(1, 1) = Val(ActiveSheet.Cells(1, 1)) + 1
   If Val(ActiveSheet.Cells(1, 1)) < 10 Then
      'Cada segundo, repetimos la ejecución de esta misma macro
 'mientras el valor de la celda A1 sea menor de 10
      Application.OnTime Now + TimeSerial(0, 0, 1), "Macro"
   End If
End Sub

Saludos,
Carlos
[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas