Graficos con rangos cambiantes

19/04/2007 - 01:26 por Bart | Informe spam
Hola grupo:

Estoy intentando hacer un gráfico automático a través de VBA, grabo como lo
hago manualmente, pero cuando intento reproducir lo que he hecho (la idea es
que el rango cambie), no funciona.

Alguien tiene un código de ejemplo para este problema?.

Por otro lado, el archivo contiene una base de datos de más o menos 5000
registros que mes a mes aumenta en un 20%, además que se hace pesado el libro
de Excel, se corre el riesgo que su pueda alterar la información. Cómo puedo
que Excel tome la información directamente de Access para sacar la base de
datos del archivo y pueda consultar de manera "automática" la información y
gráfique lo que he consultado.

Gracias por sus comentarios,

Bart Max
 

Leer las respuestas

#1 Tux
19/04/2007 - 15:08 | Informe spam
Bart escribió:
Hola grupo:

Estoy intentando hacer un gráfico automático a través de VBA, grabo como lo
hago manualmente, pero cuando intento reproducir lo que he hecho (la idea es
que el rango cambie), no funciona.

Alguien tiene un código de ejemplo para este problema?.

Por otro lado, el archivo contiene una base de datos de más o menos 5000
registros que mes a mes aumenta en un 20%, además que se hace pesado el libro
de Excel, se corre el riesgo que su pueda alterar la información. Cómo puedo
que Excel tome la información directamente de Access para sacar la base de
datos del archivo y pueda consultar de manera "automática" la información y
gráfique lo que he consultado.

Gracias por sus comentarios,

Bart Max



Hola :)

si por la << la idea es que el rango cambie >> imagino que te referiras
a crear un grafico el cual añada datos al grafico cada vez que se
inserten de nuevos en la hoja ¿?

Si es asi tendras que definir nombre para crear rangos dinamicos y hacer
el grafico dinamico: [todo esto a suposicion ya que faltan detalles
varios???]


Si tenemos por ejemplo Columna A Fechas y columna B Numeros ,
Definimos nombre y lo llamas Fechas [o como quieras] :

ÞSREF(Hoja2!$A$1;1;;CONTARA(Hoja2!$A:$A)-1;1)

y luego defines nombre para la columna B:

ÞSREF(Hoja2!$B$2;;;CONTARA(Hoja2!$B:$B)-1;1)

y ya creas el grafico con el asistente, y con los rangos dinamicos con
nombres que se han creado, los pones en el segundo paso > pestaña serie
donde dice valores:


=Hoja2!Numeros

y donde dice eje de categorias x :

=Hoja2!Fechas

Siguiente hasta finalizar .


Si quieres hacerlo todo mediante codigo : [quedaria algo asi , creandote
un grafico por defecto, si tienes por defecto graficos columnas o el que
tengas por defecto]

Sub MyGrafico()


Dim grafico As Chart
Set grafico = Charts.Add

With ActiveWorkbook.Names

.Add Name:="Temperaturas", RefersToR1C1:= _
"=OFFSET(Hoja2!R2C2,,,COUNTA(Hoja2!C2)-1,1)"
.Add Name:="Fechas", RefersToR1C1:= _
"=OFFSET(Hoja2!R1C1,1,,COUNTA(Hoja2!C1)-1,1)"
End With

grafico.SetSourceData Source:=Sheets("Hoja2").Range("A1:B4")

With ActiveChart.SeriesCollection(1)

.XValues = "=graficos.xls!Fechas"
.Values = "=graficos.xls!Temperaturas"
End With

ActiveChart.Location Where:=xlLocationAsNewSheet
With ActiveChart
.HasAxis(xlCategory, xlPrimary) = True
.HasAxis(xlValue, xlPrimary) = True
.Axes(xlCategory, xlPrimary).CategoryType = xlAutomatic
End With

Sheets("Hoja2").Select
End Sub

En cuanto a la segunda consulta :

Puedes Extraer solo los datos de Access aquellos necesarios para el
grafico y realizar tambien consultas y demas desde :

Datos > obtener datos externos > nueva consulta de bases de datos, y ya
sigues el asistente para traerte aquellos datos que necesites para graficar.

Comentanos ok? :)

Saludos
Monica




Estado: A la Espera By Fermu

Tic-Tac-Tic-Tac...

Now We are free [Enya]

www.fermu.com



Anotacion: Si por los foros veis Spam masivo sobre temas que nada tienen
que ver con el foro en cuestion,
Deciros que es un << Troll/s >> que unas veces usurpan el nombre e
identidad de gente profesional en la materia,
y otras veces usurpan el nombre e identidad de aquel o aquellos que
contestan a su Spam, su verdadero nombre es:

Pablito "Alias el Cuervo" y Compañia [payasos de circo ]

Lo mejor que podeis hacer, es o bien ignorarlos como si no existieran o
hacer seguimiento de las NEws de microsoft,

a traves de por ejemplo entre otros:

Outloock Express o Mesnews [con opcion a suprimirlos ]

Y Si utilizais el Thunderbird podeis utilizardo como Separador de hilos
y queda muy mono :-))))

Preguntas similares