2010-08-10 14 views
0

Excel 2007 me rend fou. J'ai plusieurs graphiques mis en place que je me rafraîchis périodiquement contre certaines données dans une base de données SQL. Toutefois, chaque fois que je les actualise, Excel supprime toutes les plages absolues que j'ai pour les graphiques pour afficher ces données en fonction de la quantité de nouveaux enregistrements renvoyés à partir de la requête.Excel 2007 - Sources de données externes (tableaux) Modification des plages absolues

Les données sont liées au temps (j'ai un enregistrement pour chaque minute du jour), et je veux que le graphique (graphique linéaire) soit fixé en taille ... à la place, Excel veut qu'il change dynamiquement, et donc il ajoute les lignes supplémentaires à mes plages nommées.

Existe-t-il un moyen d'empêcher Excel de mettre à jour des plages nommées absolues lorsque de nouvelles données d'une source de données sont renvoyées? J'espère que cela a du sens.

Répondre

0

Comment définissez-vous vos plages nommées? Je suppose que vous utilisez simplement des références de cellules, si c'est le cas, il peut être utile de regarder la fonction offset, en particulier si vous avez affaire à des plages de tailles fixes (par exemple minutes dans une journée).

Par exemple, si vous aviez des en-têtes de colonne dans la première ligne, vos minutes étaient dans la colonne A et vous aviez exactement 1 ligne pour chaque minute votre formule décalage ressemblerait à ceci:

OFFSET(A2,0,0,1,1440) 

et est défini comme

OFFSET(StartCell, OffsetRows, OffsetCols, Width, Height) 

comme l'une des valeurs dans les arguments peuvent également être des formules, OFFSET est une fonction très utile pour définir les plages.

+0

Merci pour la réponse ... cela ne semble pas fonctionner. Par exemple, si j'ai une feuille avec les données de table et une autre avec le graphique et j'attribuez une plage nommée à la feuille comme so = OFFSET (DataSheet! $ C $ 2,390,0) pour capturer 390 lignes de données à partir de C2, I ne reçois pas de données dans la série ... ai-je oublié quelque chose? – Matt

+0

Votre fonction de décalage n'est pas correcte, il faut 5 valeurs - si vos données commencent à la cellule C2, et est 390 lignes de long, vous devrez probablement utiliser OFFSET (DataSheet! $ C $ 2,0,0,1,390) qui dit 'Commencer à la cellule C2, déplacer 0 cellules à travers et 0 cellules vers le bas, et prendre une région 1 cellule large et 390 haut' – Macros

+0

A travaillé comme un charme !!!! Je vous remercie! – Matt