2013-12-01

Gráfico de barras animado emulando Google Public Data Explorer - Parte 3 de 3

Finalizamos con los dos últimos pasos para elaborar un gráfico de barras animado emulando Google Public Data Explorer. Es importante señalar, que estos dos últimos pasos son independientes. Podemos optar por solamente uno de ellos o ambos. En anteriores entradas vimos:

1. Título del gráfico dinámico.
2. Formato personalizado del eje vertical.
3. Series ordenadas con los 10 primeros valores en orden descendente.
4. Control de número ActiveX para avanzar y retroceder en el tiempo.
5. Animación con código VBA asociada a dos botones para iniciar y detener la animación

4. Control de número ActiveX para avanzar y retroceder en el tiempo.

El penúltimo paso es insertar un control de número.

Una vez insertado, modificamos en el cuadro de diálogo Propiedades:

- LinkedCell - Celda vinculada al valor del control de número.
- Max - Valor máximo permitido. Fila donde está el primer país del último mes.
- Min -  Valor mínimo permitido. En este caso 1.
- SmallChange - Variación cada vez que se hace clic en la flecha de control de número. En este caso 30 pues es el número de filas necesarias para empezar en el siguiente mes.

Desactivamos el modo diseño y el cuadro de control estará listo para ser utilizado

5. Animación con código VBA asociada a dos botones para iniciar y detener la animación
Insertamos 4 formas para crear dos botones: play y stop. Dos rectángulos redondeados y en el interior un triángulo y un cuadrado;
A continuación, copiamos el siguiente código en un módulo.
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public StopMacro As Boolean
Sub Iniciar()
    Dim i As Integer
    StopMacro = False
    For i = 1 To 10711 Step 30: ' Min, Max y SmallChange
    DoEvents
    If StopMacro = True Then Exit Sub
        Range("G5").Value = i   ' Celda vinculada
        Application.Calculate
        Sleep (1)   ' Velocidad de la animación
    Next
End Sub
Sub Parar()
    StopMacro = True
End Sub

He modificado el código de S Anand para incluir incrementos de 30 en cada iteración (Step 30), y la opción de detener la subrutina pulsando el botón de stop. Creamos una variable booleana pública llamada Stopmacro. El loop continua mientras dicha variable sea false. Al apretar el botón stop, le asignaremos a Stopmacro el valor true, deteniéndolo.

Asignamos a cada botón su macro correspondiente: Iniciar y Parar.
Ya tendremos lista la animación:

Entradas para construir un gráfico animado emulando Google Public Data Explorer:
1. Título del gráfico dinámico.
2. Formato personalizado del eje vertical.
3. Series ordenadas con los 10 primeros valores en orden descendente.
4. Control de número ActiveX para avanzar y retroceder en el tiempo.
5. Animación con código VBA asociada a dos botones para iniciar y detener la animación.

No hay comentarios:

Publicar un comentario

Nube de datos