Évolution de la série en vba excel
J'ai un tableau sur une de mes feuilles et j'ai besoin de changer une série de code. Le problème est que je reçois le message d'erreur 1004. J'ai regardé autour et ne peuvent pas trouver une raison pour cela. Voici le code:
Sheets("Charts").ChartObjects(1).Chart.SeriesCollection(1).Formula = "=G49:I" & dblResult & ")"
Vous avez une parenthèse fermante, mais pas une ouverture dans votre formule. Cependant, je ne suis pas sûr que cela permettra de résoudre votre problème. Avez-vous essayé l'enregistrement d'une macro pour voir comment le système de aurait à gérer ce changement?
OriginalL'auteur user2337549 | 2013-04-30
Vous devez vous connecter pour publier un commentaire.
Êtes-vous essayer cela?
Debug.Print Sheets("Charts").ChartObjects(1).Chart.SeriesCollection(1).Formula
Merci les Gars, c'est exactement ce que je cherchais
Cela devrait fonctionner. Je trouve ça plus simple d'attribuer la
SeriesCollection(1).Values
,.XValues
, etc., cependant. Jamais aimé les "Séries": la formule), À chacun ses goûts!Je suis avec vous sur ce point. Certaines choses dans Excel n'ont pas changé depuis 1988... ils sont tout simplement transporté partout, comme le mauvais bagages. Même s'il est agréable pour la rétro-compatibilité (même si c'est inégal au mieux, avec plus de bureautique), il conduit à la laideur de ce genre. Je vais descendre ma boîte à savon maintenant.
lorsque vous trouvez une réponse utile comme Sid, ça serait sympa si vous avez "accepté" cela en cliquant sur la petite case à cocher. Il le marque comme "la bonne réponse" pour les futurs visiteurs, et il lui donne une certaine "réputation" (bien que, dans le VBA monde au moins, il en a beaucoup.... plus qu'un numéro de l'express)
OriginalL'auteur Siddharth Rout
Une alternative que je préfère à la manipulation de la Formule de Série est de simplement travailler avec les propriétés individuelles de la
SeriesCollection
.Note j'écris ceci à partir de la mémoire/non testé alors laissez-moi savoir si il ya des problèmes avec elle!
À l'intérieur de la
With
bloc, vous avez besoin pour déterminer les Plages à utiliser pour leValues
,XValues
,Name
, etOrder
, bien sûr, vous pouvez omettre les parties que vous n'avez pas besoin (par exemple, j'ai rarement besoin de manipuler la série.Order
)Pratiquement parlant, voici un exemple assez simple. J'ai souvent créer ou mettre à jour un tableau dynamiquement en utilisant une approche de ce genre. En supposant que
XValues
sont dans la colonne A, tandis que la série de données est dans les colonnes B:F, vous pourriez faire quelque chose comme:Set srs = cht.SeriesCollection.NewSeries
. Sinon, cela a été très utile, apprécié!OriginalL'auteur David Zemens