Enjoy A New Student Discount All 55,000 Courses on sale for Only $12.99

Ends in 05h 23m 49s

Excel. Macros. Los gráficos

Una de las áreas en donde las macros tienen mucho que decir, es en la creación y mantenimiento de gráficos. Normalmente, el crecimiento de las columnas, hacen que nuestro gráficos queden desactualizados, en cambio con alguna macro muy simple, podríamos resolver el problema.

Vamos a volver a utilizar la hoja de cálculo con las notas de los alumnos, y ahora vamos a hacer un gráfico de tarta con las notas de todos los alumnos

Curso de macros excel. Graficos

Antes de hacer el gráfico, hemos puesto el grabador en marcha, por lo que ademas del gráfico, hemos conseguido la macro que lo crea, y que es esta:

Sub CreaGrafico()

'
    Range("A5:A15,C5:C15").Select
    Range("C5").Activate
    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.SetSourceData Source:=Range( _
        "'Hoja1'!$A$5:$A$15;'Hoja1'!$C$5:$C$15")
    ActiveChart.ChartType = xl3DPie
End Sub

Las primeras líneas, las ha generado cuando nosotros estabamos seleccionando los rangos fuentes, para que el asistente nos hiciera todo el trabajo, pero ahora ya nos sobran, realmente las líneas en las que tenemos que poner atención, os las indico aquí

   ActiveSheet.Shapes.AddChart xl3DPie
    ActiveChart.SetSourceData Source:=Range(montaStringFin("'Hoja1'!$A$5"), montaStringFin("'Hoja1'!$C$5"))

También me he creado dos pequeñas funciones para que me seleccione desde una celda, hasta el primer blanco. Realmente, no me selecciona, solo me generan la string, que luego utilizaré con un range.

Function encuentraFin(celda As String) As String
    encuentraFin = Range(celda).End(xlDown).Address
End Function
Function montaStringFin(celda As String) As String
    montaStringFin = celda & ":" & encuentraFin(celda)
End Function

No es que sea imprescindible, pero me estaba molestando hacer los cálculos en cada línea, y costaba más de entender.
Ahora nuestro gráfico, crecerá a medida que lo haga nuestra hoja. Eso sí, acordaros de ejecutar la macro

3 comentarios

Deja un comentario

/*Si te ha gustado el artículo
no dudes en compartirlo*/

Facebook
Twitter
LinkedIn

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies

Ver mi IP

Ver ip de mi máquina
tipo valor
Ip: 54.167.52.238
Proxy: 54.167.52.238
Remote host: ec2-54-167-52-238.compute-1.amazonaws.com
Remote port: 18514
** 54.167.52.238