Macro que vaya cambiando el valor de una misma celda en un tiempo establecido

Hola,

Necesitaría una macro que al presionar sobre una celda concreta (pongamos a1), hiciese que la celda "a2" se fuese rellenando automáticamente hasta el numero 20, pasando por todos, en 10 segundos. Es decir, cada medio segundo fuese cambiando su valor (1,2,3,4,5,6,7,8,9,10,11....hasta 20).

Gracias de antemano por vuestra ayuda

1 Respuesta

Respuesta
1

Te mando la solución, sigue mis instrucciones:

En primer lugar tienes que copiar la siguiente macro al objeto hoja que estamos tratando ya que es el evento selection_change y se autoejecutará cuando toques la celda A1 de esa hoja.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
crono
End If
End Sub

Ahora tienes que copiar estas macros dentro de un módulo:

Public valor
Sub crono()
valor = Now + TimeValue("00:00:10")
Application.OnTime valor, "macro"
If Range("a2").Value = 20 Then
parar
End If
End Sub
Sub macro()
Range("a2").Value = Range("a2").Value + 1
crono
End Sub
Sub parar()
Application.OnTime valor, "macro", Schedule:=False
End Sub

Ahora solo queda que te posiciones en la hoja de excel que tratamos y pulses en la celda A1 y que esperes a que pasen los 10 segundos para que veas que la celda A2 comienza a contar hasta llegar a 20 y se parará.

Recuerda finalizar la consulta pro favor

Muchas gracias como siempre por tu ayuda.

Me da un error en: Application.OnTime valor, "macro", Schedule:=False

y no logro que el contador vaya mas rapido ya que va segundo a segundo.

Necesito la asignación automática de valores a la celda puesto que al introducir un numero del 1 al 20 excel automáticamente me genera un presupuesto distinto que posteriormente exporta a otra hoja, y generalmente para no tener que picarlos a mano (se realiza muchas veces al día), había pensado en que lo hiciese automáticamente y lo mas rapido posible, por tanto, el tiempo realmente no es importante para la finalidad

El proceso está probado y funciona perfectamente, al menos en mi equipo. Asegúrate que has declarado pública la variable valor.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas