3 votos

¿Cómo puedo seleccionar datos y dibujar gráficos usando un botón en Excel?

En mi libro de Excel (es decir, el archivo) Yo, por ejemplo, siete hojas (Lunes, martes ... Sol) de las temperaturas. Los datos se registran durante todo el día en una frecuencia fija.

Ahora quiero crear una herramienta para ver esta serie de tiempo de datos fácilmente.

Mi pensamiento es, puedo crear una página, digamos, Índice, que tiene la lista de los nombres de todas estas hojas, no es un objeto de gráfico, que muestra los datos de la hoja de Lunes por defecto, y un botón/o una lista desplegable para cambiar de Lunes a cualquier nombre (que se conectan a la hoja), y actualizar el gráfico para mostrar los datos correspondientes.

¿Cómo debo acerca de esto? Yo sólo soy un muy básico de usuario de Excel, pero estoy dispuesto a aprender la habilidad.

1voto

Scott Puntos 10303

Ya que no nos han dado información detallada sobre cómo sus hojas están establecidos, Voy a suponer que usted tiene de veces en las células de la A2:A25 y las temperaturas en las células de la B2:B25 en cada uno de los diarios de hojas, como este:

Input data for Monday, Tuesday and Wednesday

En el Índice de la hoja, escriba

  • En A1, "Día". (Esto es sólo una etiqueta; la misma que se muestra en la imagen de su resultado deseado).
  • En B1, su lista desplegable de los días de la semana.
  • En J1, "El Tiempo". (Esto es sólo una etiqueta, y es opcional).
  • En K1, "Temp". (Esto es sólo una etiqueta, y es opcional).
  • En L1, =B1 & " Temp". Este será el título del gráfico.
  • En J2:J25, los tiempos de 00:00 a 23:00. O, si algunas hojas tienen diferentes "X"eje de valores (por ejemplo, si algunos días han 00:30 a 23:30), entrar
    =SI(INDIRECTO($B$1&"!UN"&FILA())<>"", INDIRECTOS($B$1&"!UN"&FILA()), "")
    

en J2 y arrastre/rellenar hacia abajo a J25 (suponiendo que usted siempre tiene 24 puntos de datos). Usted puede necesitar manualmente el formato de este correctamente (por ejemplo, hh). Este será el tiempo de acceso de datos (es decir, X-etiquetas del eje) de la Columna : de la indexado diaria de la hoja, obligando a las celdas vacías para ser tratados como en blanco en lugar de cero (vea la Pantalla en Blanco cuando se hace Referencia a una Celda en Blanco en Excel).

En mm, . Este tendrá acceso a los datos de temperatura de la Columna A de uno de los diarios de hojas, la sustitución de las celdas vacías con K2 (el "no disponible" pseudo-valor), que hará que los puntos de datos correspondientes de no ser incluidos en el gráfico. Seleccione =IF(INDIRECT($B$1&"!B"&ROW())<>"", INDIRECT($B$1&"!B"&ROW()), #N/A) y arrastre/rellenar hacia abajo a B. Los datos de temperatura para el día seleccionado aparecerá.

Ahora crear un gráfico basado en #N/A del Índice de la hoja. Haga clic en el título del gráfico, y escriba K2 en la barra de fórmulas. Luego, simplemente seleccione el día que desee en K25, y el gráfico para que los datos del día automáticamente, aparecen inmediatamente - no hay necesidad de presionar un botón.

Chart for Monday

Chart for Tuesday

Chart for Wednesday

Resultado de las muestras con los datos que faltan:

Chart for Monday with missing data

Por supuesto, la elección de las células es arbitraria. He utilizado Columnas J1:K25 través =Index!L1 así que podría caber en la página con la tabla. Si prefiere no ver los datos seleccionados, uso de Columnas Index!B1 través J así que voy a estar fuera de la vista - y/o ocultar la auxiliar de columnas.

0voto

busybyte Puntos 47

Esta es una macro vba, actualizando los datos del gráfico. Sin comprobación de errores y la mayoría de los nombres para una mejor comprensión

 Private Sub SetChart(sheetChrt as worksheet, sheetData as worksheet)
 With sheetChrt.ChartObjects(1).Chart.SeriesCollection(1)
   .XValues = sheetData.Range("A1:A10") '
   .Values = sheetData.Range("B1:B10")
 End With
End Sub

Public Sub Test1()
 with Thisworkbook
 SetChart .Sheets("MyChartSheet"), .Sheets("MyDataSheet")
 end with
End Sub
 

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: