Gráficos en Excel VBA

La visualización es muy importante en cualquier dato. En Excel cuando presentamos datos en tablas y pivotamos, podría ser difícil para otro usuario comprender el escenario principal a partir de los datos. Entonces, en Excel, tenemos gráficos para presentar nuestros datos. Los gráficos son la representación visual de los datos presentes en las filas y columnas de la hoja de Excel. Ahora todos sabemos cómo insertar un gráfico en una hoja de cálculo de Excel. En este tema, aprenderemos sobre el uso de gráficos en VBA. Es tan simple como usamos gráficos en Excel. Ahora, como en una hoja de trabajo donde tenemos varios tipos de gráficos para optar de manera similar, tenemos todos los gráficos en VBA también como un objeto. Todo lo que necesitamos hacer es llamar a ese objeto para poder usarlo. Podemos hacer gráficos desde VBA en la misma hoja de trabajo o en una hoja de gráfico separada. Sin embargo, es más recomendable usar gráficos en una hoja separada para evitar confusiones.

Ahora, ¿cuáles son los gráficos en VBA? Los gráficos son objetos simples en VBA. Podemos hacer dos tipos de gráficos en VBA. Uno se conoce como una hoja de gráfico, mientras que otro se conoce como gráficos incrustados. En la hoja del gráfico, VBA crea una nueva hoja de trabajo para el gráfico. Damos los datos de referencia, que es otra hoja de trabajo como fuente de datos. Ahora los gráficos incrustados son aquellos gráficos que están presentes en la misma hoja de trabajo de los datos. Ahora, la codificación de estos dos tipos de gráficos es ligeramente diferente entre sí, que aprenderemos en este tema. Para usar las propiedades del gráfico en VBA usamos el símbolo de punto (.) Como IntelliSense. Ahora necesitamos recordar una cosa que hay varios tipos de gráficos en Excel. Si no proporcionamos un tipo de gráfico a nuestro código, VBA crea automáticamente un gráfico de columnas para nosotros de forma predeterminada. Obviamente, podemos cambiar eso con unas pocas líneas de código.

¿Cómo crear gráficos en Excel VBA?

Ahora aprendamos cómo hacer gráficos en Excel VBA con algunos ejemplos.

Puede descargar esta plantilla Excel de gráficos VBA aquí - Plantilla Excel de gráficos VBA

Para todos los ejemplos, consideraremos un dato que está presente en la hoja 1 de la siguiente manera,

Gráficos de Excel VBA - Ejemplo # 1

Primero, aprendamos cómo insertar un gráfico en VBA, para esto siga los pasos a continuación:

Paso 1: Comience con un subprocedimiento de la siguiente manera.

Código:

 Sub Charts1 () End Sub 

Paso 2: declara una variable como un objeto gráfico.

Código:

 Sub Charts1 () Dim Cht As Chart End Sub 

Paso 3: para utilizar los gráficos, debemos llamar al método add como se muestra a continuación.

Código:

 Sub Charts1 () Dim Cht As Chart Set Cht = Charts.Add End Sub 

Paso 4: para usar las propiedades del objeto gráfico, inserte una instrucción With en el código como se muestra a continuación.

Código:

 Sub Charts1 () Dim Cht As Chart Set Cht = Charts.Add With Cht End With End Sub 

Paso 5: Ahora proporcionemos una fuente para este gráfico, comience con un operador de puntos y nos dará más opciones. Escriba el siguiente código a continuación para ingresar una fuente para el gráfico.

Código:

 Sub Charts1 () Dim Cht As Chart Set Cht = Charts.Add With Cht .SetSourceData Source: = Sheets ("Sheet1"). Range ("A1: B6") End With End Sub 

Paso 6: Ahora recuerde que no hemos proporcionado ningún tipo de gráfico, primero ejecutemos el código anterior presionando la tecla F5 y veamos qué tipo de gráfico se insertará.

Tenemos una nueva hoja creada llamada Gráfico y tiene nuestro gráfico en ella.

Paso 7: Ahora démosle al código el tipo de gráfico que queremos usar para esta representación,

Paso 8: Seleccionemos el área 3D para este ejemplo como se muestra a continuación,

Código:

 Sub Charts1 () Dim Cht As Chart Set Cht = Charts.Add With Cht .SetSourceData Source: = Sheets ("Sheet1"). Range ("A1: B6") .ChartType = xl3DArea End With End Sub 

Paso 9: ejecute el código presionando la tecla F5 o haciendo clic en el botón Reproducir y verifique el tipo de gráfico en la hoja de trabajo.

Ahora, recuerde que cada vez que ejecutamos el código, creará una nueva hoja de gráfico para nosotros. Esto también se conoce como una hoja de gráfico porque crea gráficos en otra hoja.

Gráficos de Excel VBA - Ejemplo # 2

Ahora hagamos un gráfico incrustado que significa gráfico en la hoja de datos de origen. Para esto, siga los pasos a continuación para crear un gráfico en Excel VBA.

Paso 1: en el mismo módulo, inicie otro subprocedimiento de la siguiente manera.

 Código: Sub Charts2 () End Sub 

Paso 2: Declare nuevamente una variable como tipo de gráfico de la siguiente manera.

Código:

 Sub Charts2 () Dim Cht1 As Chart End Sub 

Paso 3: La diferencia en los gráficos incrustados es que referimos la hoja de trabajo que tiene los datos como la hoja activa mediante el siguiente código que se muestra a continuación.

Código:

 Sub Charts2 () Dim Cht1 As Chart Set Cht1 = ActiveSheet.Shapes.AddChart.Chart End Sub 

Paso 4: Ahora, el resto de la creación y el diseño de los gráficos son similares, nuevamente colocamos una Declaración With en el código de la siguiente manera.

Código:

 Sub Charts2 () Dim Cht1 As Chart Set Cht1 = ActiveSheet.Shapes.AddChart.Chart With Cht1 End With End Sub 

Paso 5: especifiquemos una ubicación donde estará nuestro gráfico, ya que no queremos que esté sobre nuestros datos, así que antes de Con la Declaración agregue el siguiente código donde habíamos establecido nuestro gráfico de la siguiente manera.

Código:

 Sub Charts2 () Dim Cht1 As Chart Set Cht1 = ActiveSheet.Shapes.AddChart (Left: = 200, Width: = 300, Top: = 50, Height: = 300). Chart with Cht1 End With End Sub 

Paso 6: Ahora proporcionemos la fuente de los datos y el tipo de gráfico que queremos ser de la siguiente manera.

Código:

 Sub Charts2 () Dim Cht1 As Chart Set Cht1 = ActiveSheet.Shapes.AddChart (Left: = 200, Width: = 300, Top: = 50, Height: = 300). Chart With Cht1 .SetSourceData Source: = Sheets ("Sheet1 ") .Range (" A1: B6 ") .ChartType = xl3DArea End With End Sub 

Paso 7: Ejecute el código presionando la tecla F5 o haciendo clic en el botón Reproducir y vea el resultado en nuestra hoja donde los datos son los siguientes.

Esto se llama un gráfico incrustado ya que el gráfico está en la misma hoja que los datos.

Gráficos de Excel VBA - Ejemplo # 3

También hay otra forma de crear un gráfico en nuestras hojas de trabajo usando VBA. Este método se conoce como método ChartsObject.

Paso 1: en el mismo módulo, comencemos con un tercer subprocedimiento de la siguiente manera.

Código:

 Sub Charts3 () End Sub 

Paso 2: Cono como datos de la hoja de trabajo, escriba otro como rango y uno como objeto de gráfico como se muestra a continuación.

Código:

 Sub Charts3 () Dim WK como hoja de trabajo, Rng como rango, Cht3 como ChartObject End Sub 

Paso 3: Primero configure la hoja de trabajo donde se encuentran los datos, que es la hoja 1 en este caso.

Código:

 Sub Charts3 () Dim WK como hoja de trabajo, Rng como rango, Cht3 como ChartObject Set WK = Worksheets ("Sheet1") End Sub 

Paso 4: Ahora seleccione el rango de datos que tenemos de la siguiente manera.

Código:

 Sub Charts3 () Dim WK como hoja de trabajo, Rng como rango, Cht3 como ChartObject Set WK = Worksheets ("Sheet1") Set Rng = WK.Range ("A1: B6") End Sub 

Paso 5: ahora configure el objeto de gráfico para agregar el gráfico utilizando la propiedad del objeto de gráfico de la siguiente manera.

Código:

 Sub Charts3 () Dim WK como hoja de trabajo, Rng como rango, Cht3 como ChartObject Set WK = Worksheets ("Sheet1") Set Rng = WK.Range ("A1: B6") Set Cht3 = WK.ChartObjects.Add (Left: = ActiveCell.Left, Ancho: = 400, Superior: = ActiveCell.Top, Altura: = 200) End Sub 

Paso 6: Ahora demos la fuente de la tabla de la siguiente manera.

Código:

 Sub Charts3 () Dim WK como hoja de trabajo, Rng como rango, Cht3 como ChartObject Set WK = Worksheets ("Sheet1") Set Rng = WK.Range ("A1: B6") Set Cht3 = WK.ChartObjects.Add (Left: = ActiveCell.Left, Width: = 400, Top: = ActiveCell.Top, Height: = 200) Cht3.Chart.SetSourceData Source: = Rng End Sub 

Paso 7: Ahora seleccione el tipo de gráfico que queremos de manera similar a la siguiente.

Código:

 Sub Charts3 () Dim WK como hoja de trabajo, Rng como rango, Cht3 como ChartObject Set WK = Worksheets ("Sheet1") Set Rng = WK.Range ("A1: B6") Set Cht3 = WK.ChartObjects.Add (Left: = ActiveCell.Left, Ancho: = 400, Superior: = ActiveCell.Top, Altura: = 200) Cht3.Chart.SetSourceData Fuente: = Rng Cht3.Chart.ChartType = xl3DColumn End Sub 

Paso 8: Ejecute el código presionando la tecla F5 o haciendo clic en el botón Reproducir y vea el resultado en la hoja 1.

Cosas para recordar

  • Podemos decidir qué tipo de gráficos queremos usar estableciendo un tipo de gráfico.
  • En el tipo de gráfico, la cantidad de veces que ejecutamos el código se crea una nueva hoja de trabajo con un nombre de gráfico único con un gráfico.
  • El objeto gráfico también es un miembro de las hojas en las que tenemos tanto gráficos como hojas.
  • Para usar el objeto gráfico debemos usar una instrucción SET para establecer primero el gráfico.

Artículos recomendados

Esta es una guía de los gráficos de VBA. Aquí discutimos cómo crear Gráficos en Excel usando el código VBA junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. PowerPoint de VBA
  2. Tablas de combinación de Excel
  3. El archivo de verificación de VBA existe
  4. Gráfico de columnas de Excel

Categoría: