escalado

26/02/2009 - 21:43 por j_lete | Informe spam
Hola!
Tengo un grafico excel del tipo linea con marcadores en cada valor del dato.
En el represento 3 datos (Centro, provincia, empresa)En el eje X represento
meses entre enero 07 y dic 09 (36 celdas), mientras que en el eje Y
represento los valores que toma cada dato en cada mes.
Los datos de provincia y empresa son fijos, pero puedo cambiar el centro
cambiando a la vez los valores a los del centro elegido (los valores por mes
van del rango comprendido entre 0 y 4,255 dependiendo del centro
seleccionado). Necesitaría que al cambiar los valores del centro, cambiase el
escalado del eje Y, para que si el valor minimo para un mes del centro es 0,
el valor minimo del eje Y (es decir el escalado) empiece por 0 y si es 2, el
esacalado comience en 2. Como se podría conseguir?

Gracias

Preguntas similare

Leer las respuestas

#6 j_lete
27/03/2009 - 20:02 | Informe spam
Hola:

Te explico:
En el libro tengo 3 hojas:
Una tiene todos los datos de los dispensadores. (hoja 1)
En otra tengo el grafico y una celda donde pongo el numero del dispensador
cuyos datos quiero mostrar(hoja 2)
En la tercera es donde, una vez seleccionado el dispensador, pongo todos los
datos de ese dispensador, y obtengo el valor maximo y el minimo. De esta hoja
es donde estan los datos origen del grafico y donde selecciono el valor
maximo y minimo del rango a representar para que estos valores sean el valor
maximo y minimo del eje y del grafico (hoja 3).
Los valores máximo, minimo e intervalo, los llevo a 3 celdas de la hoja 2
(b1, b2 y b3) por referencia a la hoja donde estan los datos, por ejemplo, el
valor de la celda b1 donde pongo el valor maximo, sería =entero(hoja3!c2 ).
El problema es que al cambiar de dispensador, en hoja 2 se actualizan los
datos a los del nuevo dispensador, incluyendo los valores maximo y minimo de
de dicho rango, pero estos valores no se actualizan en el grafico.
En cambio, si los escribo directamente en esas celdas de la hoja 2 y si se
actualizan
El codigo es
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address
Case "$B$1"
ActiveSheet.ChartObjects("Chart
23").Chart.Axes(xlValue).MaximumScale = Target.Value
Case "$B$2"
ActiveSheet.ChartObjects("Chart
23").Chart.Axes(xlValue).MinimumScale = Target.Value
Case "$B$3"
ActiveSheet.ChartObjects("Chart 23").Chart.Axes(xlValue).MajorUnit =
Target.Value
Case Else
End Select
End Sub

Saludos y gracias


"Héctor Miguel" escribió:

hola, !

> Cuando cambio los valores de las celdas maximo y minimo
> no se actualiza automaticamente el grafico, ya que tengo que pulsar intro.
> Se puede hacer que al cambiar los valores de las celdas, el grafico se actualice sin pulsar el intro
> (algo asi como hace "requery" en access...

(asumiendo que usaste la opcion de codigo en el evento '_change' de esa hoja)...
-> como haces para cambiar el valor de las celdas maximo y minimo SIN "pulsar enter" -?-
o cambiar la seleccion de celda/rango (que es lo mismo a menos que selecciones mas de una celda)

saludos,
hector.



Respuesta Responder a este mensaje
#7 Héctor Miguel
27/03/2009 - 21:19 | Informe spam
hola, !

si la actualizacion de las celdas de donde el codigo toma los valores para maximo/minimo/... de tu grafico...
NO son por entrada directa, tampoco es el evento '_change' el que debes utilizar para este efecto
si la actualizacion es por refresco de resultados de formulas, el evento que necesitas es el '_calculate' +/- asi:

Private Sub Worksheet_Calculate()
With ActiveSheet.ChartObjects("chart 23").Chart.Axes(xlValue)
.MaximumScale = Range("b1").Value
.MinimumScale = Range("b2").Value
.MajorUnit = Range("b3").Value
End With
End Sub

saludos,
hector.

__ OP __
En el libro tengo 3 hojas:
Una tiene todos los datos de los dispensadores. (hoja 1)
En otra tengo el grafico y una celda donde pongo el numero del dispensador cuyos datos quiero mostrar (hoja 2)
En la tercera... una vez seleccionado el dispensador... obtengo el valor maximo y el minimo.
De esta hoja es donde estan los datos origen del grafico y... el valor maximo y minimo... a representar ...
Los valores maximo, minimo e intervalo, los llevo a 3 celdas de la hoja 2 (b1, b2 y b3)...
El problema es que al cambiar de dispensador, en hoja 2 se actualizan los datos... pero estos valores no se actualizan en el grafico.
En cambio, si los escribo directamente en esas celdas de la hoja 2 y si se actualizan
El codigo es
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address
Case "$B$1"
ActiveSheet.ChartObjects("Chart 23").Chart.Axes(xlValue).MaximumScale = Target.Value
Case "$B$2"
ActiveSheet.ChartObjects("Chart 23").Chart.Axes(xlValue).MinimumScale = Target.Value
Case "$B$3"
ActiveSheet.ChartObjects("Chart 23").Chart.Axes(xlValue).MajorUnit = Target.Value
Case Else
End Select
End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida