Que las gráficas automáticamente tomen los datos

No se como hacer para que una gráfica por ejemplo haga lo siguiente:
      A B
1 7768 7779
2 7787 7798
3 7806 7814
4        
5
Como hago para que una gráfica tome los datos en el rango por ejemplo de A1:A5 pero que cambie automáticamente de tamaño dependiendo del numero de datos por ejemplo en la tabla que he puesto tomaría los datos y se ajustaría a A1:A3 datos solamente, muchas gracias.
Siempre me esta tocando abrir datos de origen y seleccionar el nuevo rango de datos que trae la nueva medición y es bien tedioso.

1 respuesta

Respuesta
1
No vi el ejemplo, pero me guiaré por lo que escribiste aquí.
Entrá al Editor, insertá un módulo y copiá allí esta rutina, ajustando el nombre de tu gráfico
Sub graficoActual()
'x Elsamatilde
'
'busca última fila con datos según col A
ultima = ActiveSheet.Range("A65536").End(xlUp).Row
    ActiveSheet.ChartObjects("1 Gráfico").Activate
    ActiveChart.SetSourceData Source:=Range("A1:B" & ultima)
End Sub
Ahora, seleccioná tu gráfico con clic derecho, opción Asignar macro y le asignás la rutina 'graficoActual'
Lo que hará es que cada vez que des clic encima se actualizará el rango.
Nota: la rutina está escrita en versión 2007. Si te da algún error comentame tu versión.
Sdos. No olvides finalizar la consulta si el tema queda resuelto.
Elsa
PD) Durante todo dbre, 50% de dcto en todos mis manuales. No te los pierdas...
Hola amigos,
no se como hacer para que una gráfica por ejemplo haga lo siguiente:
      A B
1 7768 7779
2 7787 7798
3 7806 7814
4        
5
Como hago para que una gráfica tome los datos en el rango por ejemplo de A1:A5 pero que cambie automáticamente de tamaño dependiendo del numero de datos por ejemplo en la tabla que he puesto tomaría los datos y se ajustaría a A1:A3 datos solamente, muchas gracias.
Siempre me esta tocando abrir datos de origen y seleccionar el nuevo rango de datos que trae la nueva medición y es bien tedioso, muchas gracias.
Ejemplo: aquí
Es version 2003, reviso si me funciona,
muchas gracias que respuesta más pronta gracias
He probado y no me sale, la verdad no se como unir lo siguiente:
-Para los gráficos se forman en una hoja distinta (datos en la "hoja 1" gráficos en la "hoja 3"
- En la parte ActiveSheet.ChartObjects("1 Gráfico").Activate; no se como saber el nombre de los gráficos o que edebo poner en "1 Gráfico", ¿sera el nombre que les doy o tienen otro que excel les da?
-¿Normalmente les pongo cabecera eso no habría error?
        A B
1 Voltaje Corriente
2 7787 7798
3 7806 7814
4 7768 7779
5
Muchas gracias amiga.
Bien, entonces la rutina quedaría así:
NOTAS se llama mi hoja con datos. Colocá el nbre de la tuya
Cuando tengas el gráfico en la hoja, hacé clic derecho, Asignar Macro.
Así te pasa al Editor y ya sabrás el nro que le asignó, en este caso 1. Es mejor que no le cambies el nombre
Sub Gráfico1_AlHacerClic()
'x Elsamatilde
'
'busca última fila con datos según col A
ultima = Sheets("NOTAS").Range("A65536").End(xlUp).Row
    ActiveSheet.ChartObjects("1 Gráfico").Activate
    ActiveChart.SetSourceData Source:=Sheets("NOTAS").Range("A1:B" & ultima)
End Sub
Sdos
Elsa
Te recuerdo que la consulta sigue abierta... si el tema quedó resuelto no olvides finalizarla.
No lo he logrado fiajate que realmente lo he intentado pero no he podido, te muestro mi avanza en el adjunto
No pude descargar el adjunto... envíamelo al correo que encontrarás en mi sitio, indicando tu alias y motivo de consulta.
Enviado
2 detalles a corregir:
- Los datos están en hoja DATOS, (en 1 línea dejaste todavía NOTAS)
- Como es el único gráfico de la hoja, directamente usaremos su nro de índice
Sub Gráfico1_AlHacerClic()
'x Elsamatilde
'busca última fila con datos según col C- En tu ej podría ser también la col B
ultima = Sheets("DATOS").Range("C65536").End(xlUp).Row
    ActiveSheet.ChartObjects(1)(.Activate
    ActiveChart.SetSourceData Source:=Sheets("DATOS").Range("C6:F" & ultima)
End Sub
Clic derecho sobre el gráfico, Asignar macro y le asignás esta que te mostrará en la lista.
Sdos
Elsa
Muy buena
Tu respuesta profesora Elsa Muchas Gracias, eres maravillosa, te lo agradezco mucho.
Solo miro que hay un ( de más
En la línea ActiveSheet.ChartObjects(1)(.Activate
Claro que para mi ejemplo al tomar la línea de la fila B sin tomar la linea C quedaría así
Sub Gráfico1_AlHacerClic()
'x Elsamatilde
'busca última fila con datos según col C- En tu ej podría ser también la col B
ultima = Sheets("DATOS").Range("B65536").End(xlUp).Row
ActiveSheet.ChartObjects(1).Activate
ActiveChart.SetSourceData Source:=Sheets("DATOS").Range("B6,D6:F" & ultima)
End Sub
Muchas gracias.
Gracias Maestra se lo agradezco mucho.
Si, podes quitarlo. Error de tipeo, en el libro quedó bien, si lo necesitas te lo envío.
Sdos
Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas