Tabla de contenido
En este artículo, te mostraré cómo puedes crear un gráfico dinámico en Excel utilizando VBA .
Descargar el cuaderno de prácticas
Descárgate este cuaderno de prácticas para ejercitarte mientras lees este artículo.
Gráfico Dinámico en Excel.xlsm5 sencillos pasos para crear un gráfico dinámico utilizando Excel VBA
Aquí tenemos una hoja de cálculo llamada Hoja1 que contiene una tabla con los ingresos y beneficios de una empresa durante algunos años.
Nuestro objetivo hoy es generar un gráfico dinámico de esta tabla utilizando Excel VBA .
⧪ Paso 1: Abrir la ventana de Visual Basic
Pulse ALT+F11 del teclado para abrir el Visual Basic ventana.
⧪ Paso 2: Insertar un nuevo módulo
Ir a la Insertar> Módulo de la barra de herramientas. Haga clic en Módulo Un nuevo módulo llamado Módulo 1 se insertará.
⧪ Paso 3: Poner el código VBA.
Este es el paso más importante. Ponga lo siguiente VBA Código en el módulo.
⧭ Código VBA:
Sub Create_Dynamic_Chart() Application.ScreenUpdating = False With ActiveSheet.Shapes(Application.Caller).Fill.ForeColor If .Brightness = 0 Then .Brightness = -0.150000006 Else .Brightness = 0 End If End With Dim Sequence() As String Desired_Shapes = Array("Rectángulo redondeado 1", "Rectángulo redondeado 2", "Rectángulo redondeado 3") For i = LBound(Desired_Shapes) ToUBound(Formas_deseadas) With ActiveSheet.Shapes(Formas_deseadas(i)) If .Fill.ForeColor.Brightness = -0.150000006 Then Sequence(UBound(Secuencia)) = .TextFrame2.TextRange.Characters.Text ReDim Preserve Sequence(UBound(Serie) + 1) End If Next i If UBound(Secuencia)> 0 Then ReDim Preserve Sequence(UBound(Secuencia) - 1)Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter Field:=1 Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter _ Field:=1, Criteria1:=Sequence, Operator:=xlFilterValues Application.ScreenUpdating = True End Sub
⧪ Paso 4: Guardar el libro de trabajo en formato XLSM
A continuación, vuelva al libro de trabajo y guárdelo como archivo Libro de Excel habilitado para macros .
⧪ Paso 5: Resultado final
Ejecute el código de la Ejecutar Sub / UserForm de la barra de herramientas.
Encontrará un gráfico dinámico creado a partir de la tabla en Hoja2 de la hoja de cálculo.
Cosas para recordar
Una tabla es la mejor forma de crear un gráfico dinámico, ya que si se añade o elimina un elemento de la tabla, ésta se ajustará automáticamente, y lo mismo ocurrirá con el gráfico. Pero también hay otras formas de conseguirlo, como utilizar una función Gama Nominal .