Duda Expertos de Excel? Como graficar un rango nombrado?

JAVI335CC

ModerFAQuer
Registrado
16 Nov 2011
Mensajes
17.610
Reacciones
13.937
Buenas, estoy liado con una hoja de excel, siguiendo los pasos descritos en esta web:
http://smallbusiness.chron.com/add-zoom-scroll-excel-chart-41823.html

Y me atoro en el paso "Create a Dynamic Named Range"

Busco poder hacer zoom en un gráfico de cotizaciones, y para ello, por lo que veo, necesito que la serie histórica sea un rango nombrado, de tal manera que ese rango crezca o decrezca usando un scroll y que el gráfico se adapte en tamaño.
Como lo veis?
 

juan.demeer

En Practicas
Modelo
240i F23
Registrado
1 Sep 2013
Mensajes
352
Reacciones
224
Normal que te pierdas, está explicado de culo... voy a ver si consigo sacarlo y te digo
 

Alvaris

Clan Leader
Moderador
Miembro del Club
Registrado
4 Ene 2007
Mensajes
41.184
Reacciones
57.563
se lo que quieres hacer, pero no tengo ni papa de como hacerlo
 

Choche

The dark side
Miembro del Club
Modelo
INSECTO ROJO
Registrado
2 Dic 2008
Mensajes
33.736
Reacciones
54.356
Buenas, estoy liado con una hoja de excel, siguiendo los pasos descritos en esta web:
http://smallbusiness.chron.com/add-zoom-scroll-excel-chart-41823.html

Y me atoro en el paso "Create a Dynamic Named Range"

Busco poder hacer zoom en un gráfico de cotizaciones, y para ello, por lo que veo, necesito que la serie histórica sea un rango nombrado, de tal manera que ese rango crezca o decrezca usando un scroll y que el gráfico se adapte en tamaño.
Como lo veis?


Pfff, sé cómo hacerlo pero no sabría explicarlo, yo lo haría mediante una macro de VB para que no se vea tan "manual" y engorroso:

Aquí hay un ejemplo:

Para automatizar este procedimiento por medio de una macro damos clic derecho sobre el nombre de la hoja y damos clic en Ver código para abrir el editor de VBA donde pegaremos el siguiente código:

Modifiquemos manualmente estos valores dejando como límite inferior el valor 80 y como límite superior el valor 120:

zoom-grafico-3.gif


Ahora es mucho más clara la dinámica de cada vendedor al observar las líneas tan de cerca.

Para automatizar este procedimiento por medio de una macro damos clic derecho sobre el nombre de la hoja y damos clic en Ver código para abrir el editor de VBA donde pegaremos el siguiente código:

Public Sub Aumentar()

ActiveSheet.ChartObjects("Gráfico 4").Activate

ActiveChart.Axes(xlValue).MinimumScale = 80

ActiveChart.Axes(xlValue).MaximumScale = 100

End Sub

zoom-grafico-4.gif


Es importante que al aplicar este código en sus trabajos personales, en la línea 2, es decir ActiveSheet.ChartObjects("Gráfico 4").Activate, se ajuste el nombre del gráfico ya que este puede variar de un libro a otro. Para identificar el nombre del gráfico, este aparece en la barra de Nombre de la hoja Excel al seleccionarlo.

La tercera línea estamos asignando el valor mínimo para el eje vertical. Como este ejemplo establece una alerta roja por debajo de 80 entonces ese es el valor que estoy asignando asi que en sus trabajos personales dependiendo del valor mínimo establecido, es en esta línea donde lo deben asignar.

La cuarta línea es para asignar el valor 100 al límite superior del eje vertical.

Ahora insertamos una imagen de una lupa y le asignamos la macro que acabamos de crear:

zoom-grafico-5.gif


Ahora al dar clic sobre la imagen, automáticamente se ajusta el eje para ver mas de cerca las líneas:

zoom-grafico-6.gif


Para completar el ejercicio agregaremos otras líneas de código para quitar el zoom:

Public Sub Disminuir()

ActiveSheet.ChartObjects("Gráfico 4").Activate

ActiveChart.Axes(xlValue).MinimumScaleIsAuto = True

ActiveChart.Axes(xlValue).MaximumScaleIsAuto = True

End Sub

zoom-grafico-7.gif


Insertamos otra imagen en la hoja Excel para indicar la disminución del zoom y le asignamos esta nueva macro:

zoom-grafico-8.gif



En esta página viene la descarga del módulo, huelga decir que como sea una versión de excel 2003 o anterior, el código cambia algo, es más, metería logicamente un UseForm
 

JAVI335CC

ModerFAQuer
Registrado
16 Nov 2011
Mensajes
17.610
Reacciones
13.937
Hostia Choche, muchísimas gracias .
Pero ya me lo soluciono @juan.demeer.
Me toca ahora dejar bonito lo que me hizo el, y lo mismo uso algo de lo que me has puesto.


Pfff, sé cómo hacerlo pero no sabría explicarlo, yo lo haría mediante una macro de VB para que no se vea tan "manual" y engorroso:

Aquí hay un ejemplo:

Para automatizar este procedimiento por medio de una macro damos clic derecho sobre el nombre de la hoja y damos clic en Ver código para abrir el editor de VBA donde pegaremos el siguiente código:

Modifiquemos manualmente estos valores dejando como límite inferior el valor 80 y como límite superior el valor 120:

zoom-grafico-3.gif


Ahora es mucho más clara la dinámica de cada vendedor al observar las líneas tan de cerca.

Para automatizar este procedimiento por medio de una macro damos clic derecho sobre el nombre de la hoja y damos clic en Ver código para abrir el editor de VBA donde pegaremos el siguiente código:

Public Sub Aumentar()

ActiveSheet.ChartObjects("Gráfico 4").Activate

ActiveChart.Axes(xlValue).MinimumScale = 80

ActiveChart.Axes(xlValue).MaximumScale = 100

End Sub

zoom-grafico-4.gif


Es importante que al aplicar este código en sus trabajos personales, en la línea 2, es decir ActiveSheet.ChartObjects("Gráfico 4").Activate, se ajuste el nombre del gráfico ya que este puede variar de un libro a otro. Para identificar el nombre del gráfico, este aparece en la barra de Nombre de la hoja Excel al seleccionarlo.

La tercera línea estamos asignando el valor mínimo para el eje vertical. Como este ejemplo establece una alerta roja por debajo de 80 entonces ese es el valor que estoy asignando asi que en sus trabajos personales dependiendo del valor mínimo establecido, es en esta línea donde lo deben asignar.

La cuarta línea es para asignar el valor 100 al límite superior del eje vertical.

Ahora insertamos una imagen de una lupa y le asignamos la macro que acabamos de crear:

zoom-grafico-5.gif


Ahora al dar clic sobre la imagen, automáticamente se ajusta el eje para ver mas de cerca las líneas:

zoom-grafico-6.gif


Para completar el ejercicio agregaremos otras líneas de código para quitar el zoom:

Public Sub Disminuir()

ActiveSheet.ChartObjects("Gráfico 4").Activate

ActiveChart.Axes(xlValue).MinimumScaleIsAuto = True

ActiveChart.Axes(xlValue).MaximumScaleIsAuto = True

End Sub

zoom-grafico-7.gif


Insertamos otra imagen en la hoja Excel para indicar la disminución del zoom y le asignamos esta nueva macro:

zoom-grafico-8.gif



En esta página viene la descarga del módulo, huelga decir que como sea una versión de excel 2003 o anterior, el código cambia algo, es más, metería logicamente un UseForm
 
Arriba