Cambiar los datos del gráfico según la celda seleccionada

Tabla de contenido

Si desea hacer un tablero con un gráfico que cambie sus datos según las opciones seleccionadas, puede usar los eventos en VBA. Sí, se puede hacer. No necesitaremos ningún cuadro desplegable, cortador ni cuadro combinado. Haremos que se pueda hacer clic en las celdas y cambiaremos los datos para crear un gráfico a partir de la celda seleccionada.

Siga los pasos a continuación para crear gráficos dinámicos en Excel que cambien según la selección de celda.

Paso 1: Prepare los datos en una hoja como fuente para el gráfico.

Aquí tengo algunos datos de muestra de diferentes regiones en una hoja. Lo llamé datos de origen.

Paso 2: obtenga los datos de una región a la vez en una hoja diferente.

  • Ahora inserte una nueva hoja. Nómbrelo apropiadamente. Lo nombré como "Panel de control".
  • Copie todos los meses en una columna. Escriba el nombre de una región junto al mes.
  • Ahora queremos extraer datos de la región en la celda D1. Queremos que los datos cambien a medida que cambia la región en D1. Para eso, podemos usar la búsqueda bidireccional.

Dado que mis datos de origen están en A2: D8 en la hoja de datos de origen. Utilizo la siguiente fórmula.

=BUSCARV(C2, 'Datos de origen'! $ A $ 2: $ D $ 8,FÓSFORO($ D $ 1, 'Datos de origen'! $ A $ 1: $ D $ 1,0))

Aquí estamos usando la indexación dinámica de columnas para BUSCARV. Usted puede leer sobre ello aquí.

  • Inserte un gráfico con estos datos en la hoja del Panel de control. Utilizo un gráfico de líneas simple. Oculte la fuente del gráfico si no desea mostrarlos.

Ahora, a medida que cambie el nombre de la región en D1, el gráfico cambiará en consecuencia. El siguiente paso es cambiar el nombre de la región en D1 al seleccionar una opción de la celda especificada.

Paso 3: Cambie la región al seleccionar un nombre de región en el rango especificado.

  • Escriba todos los nombres de las regiones en un rango, los escribo en el rango A2: A4.

  • Haga clic con el botón derecho en el nombre de la hoja del Panel de control y haga clic en la opción "Ver código" para ingresar directamente al Módulo de hoja de trabajo en VBE para que podamos usar el evento de la hoja de trabajo.
  • Ahora escriba el código siguiente en VB Editor.
    Private Sub Worksheet_SelectionChange (ByVal Target As Range) If Not Intersect (Target, Range ("A2: A4")) No es nada, entonces Range ("A2: A4"). Interior.ColorIndex = xlColorIndexNone Dim region As Variant region = Target.value En caso de error Ir a err: Seleccione la región del caso Caso es = "Central" Rango ("D1"). Valor = región Caso es = "Este" Rango ("D1"). Valor = región Caso es = "Oeste" Rango ("D1 ") .value = region Case Else MsgBox" Opción no válida "Fin Seleccione Target.Interior.ColorIndex = 8 End If err: End Sub 

Y esta hecho. Ahora, siempre que seleccione una celda en el rango A2: A4, su valor se asignará a D1 y los datos del gráfico cambiarán en consecuencia.

He explicado cómo funciona este código a continuación. Puede comprenderlo y realizar cambios según sus necesidades. Proporcioné enlaces a temas de ayuda que he usado aquí en este ejemplo. Así que échales un vistazo.

¿Cómo funciona el código?

Aquí he usado el Evento de Excel. Usé un evento de hoja de trabajo "SelectionChange" para activar los eventos.

Si no se cruza (objetivo, rango ("A2: A4")) no es nada, entonces

Esta línea establece el enfoque en el rango A2: A4 para que el evento SelectionChange solo se active cuando la selección se encuentre en el rango A2: A4. El código entre If y End solo se ejecutará si la selección está en el rango A2: A4. Ahora puede configurarlo según sus requisitos para hacer que su gráfico sea dinámico.

Rango ("A2: A4"). Interior.ColorIndex = xlColorIndexNone

Esta línea establece el color del rango A2: A4 en nada.

region = Target.value On Error GoTo err: 

En las dos líneas anteriores, obtenemos el valor de las celdas seleccionadas en la región variable e ignoramos cualquier error que ocurra. no utilice la línea "En caso de error Ir a err:" hasta que esté seguro de que desea ignorar cualquier error que se produzca. Lo usé para evitar un error cuando selecciono varias celdas.

Seleccione la región del caso Caso es = Rango "Central" ("D1"). Valor = región Caso es = "Este" Rango ("D1"). Valor = región Caso es = Rango "Oeste" ("D1"). Valor = región Caso Else MsgBox "Opción no válida" Fin de selección 

En las líneas anteriores, estamos usando excels Select Case Statement para establecer el valor del rango D1.

Target.Interior.ColorIndex = 8 End If err: End Sub

Antes de la instrucción End If, cambiamos el color de la opción seleccionada para que quede resaltada. Luego, la instrucción If termina y la etiqueta err: comienza. La instrucción On Error saltará a esta etiqueta si se produce algún error durante la instrucción de selección.

Descargue el archivo de trabajo a continuación.

Eventos de gráficos integrados con VBA en Microsoft Excel| Los eventos de gráficos incrustados pueden hacer que su gráfico sea más interactivo, dinámico y útil que los gráficos normales. Para habilitar los eventos en los gráficos, nosotros …

Los eventos en Excel VBA |Hay siete tipos de eventos en Excel. Cada evento tiene un alcance diferente. El evento de aplicación se ocupa a nivel de libro de trabajo. Libro de trabajo a nivel de hojas. Evento de hoja de trabajo a nivel de rango.

Los eventos de la hoja de trabajo en Excel VBA| El evento de la hoja de trabajo es realmente útil cuando desea que sus macros se ejecuten cuando ocurre un evento específico en la hoja.

Eventos del libro de trabajo usando VBA en Microsoft Excel | Los eventos del libro funcionan en todo el libro. Dado que todas las hojas son parte del libro de trabajo, estos eventos también funcionan en ellas.

Evitar que un automacro / eventmacro se ejecute usando VBA en Microsoft Excel| Para evitar la ejecución de la macro auto_open use la tecla shift.

Graficar eventos de objetos usando VBA en Microsoft Excel| Los gráficos son objetos complejos y hay varios componentes que se les adjuntan. Para hacer los eventos del gráfico usamos el módulo Clase.

Articulos populares:

50 accesos directos de Excel para aumentar su productividad | Acelera tu tarea. Estos 50 atajos harán que su trabajo sea aún más rápido en Excel.

La función BUSCARV en Excel | Esta es una de las funciones más utilizadas y populares de Excel que se utiliza para buscar valores de diferentes rangos y hojas.

CONTAR.SI en Excel 2016 | Cuente valores con condiciones usando esta asombrosa función. No necesita filtrar sus datos para contar un valor específico. La función Countif es esencial para preparar su tablero.

Cómo usar la función SUMIF en Excel | Esta es otra función esencial del tablero. Esto le ayuda a resumir valores en condiciones específicas.

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave