2009-09-22 9 views
3

J'ai un objet graphique, avec 3 séries. Les séries obtiennent les valeurs Y des plages C1: C10, D1: D10 et E1: E10. La valeur dépend des valeurs de A1: A10 (par exemple C1 = A1 + 6); mais je suis en train de tracer les valeurs par rapport aux valeurs de B1: 10 (c'est un graphique Log-Normal).Ajout de point de données au graphique Excel avec VBA

Je calcule les valeurs dans VBA. Comme il n'y a qu'un nombre discret de points dans A1: A10, j'aimerais ajouter quelques points d'intérêt supplémentaires au tableau. Donc, si A1: A10 contient les entiers de 1 à 10, je voudrais tracer un nombre décimal comme 3.5, sans avoir à ajouter de nouvelles lignes à la feuille de calcul.

De regarder autour, je suppose que ce serait quelque chose avec la méthode Étendre (MSDN - Extend Method) mais je ne suis pas sûr de savoir comment:

  1. Prolonger une série spécifique (comme ajouter seulement un point à la série C1: C10 et D1:. D10
  2. Comment ajouter un point de données sans nécessitant d'ajouter une cellule à la feuille

Toute aide serait ap prisé. Merci

Répondre

4

Question 2

Vous pouvez définir les valeurs sur une série individuelle en utilisant la propriété de valeur sur l'objet de la série.

Cependant, dans l'aide, elle indique que les valeurs d'une série peuvent être soit

une gamme sur une feuille de calcul ou un tableau de valeurs constantes,

mais pas les deux. Cela signifie que si vous voulez spécifier les valeurs de la série comme une plage telle que C1: C10, alors je pense que vous devrez ajouter des cellules si vous voulez ajouter des points de données dans la série.

Si vous ne souhaitez pas ajouter de cellule, vous devez spécifier toutes les valeurs en tant que constante de tableau.

Question 1

Pour ajouter des points de données à une série spécifique, je pense que vous devez sélectionner la série, et de modifier les valeurs et XValues ​​ propriétés.

Exemple:

Mettez ces données dans le "Sheet1" d'Excel et un graphique comme "chart1". y1 sera la série 1, y2 sera series2 et Y3 sera série 3.

 A B  C  D 
1 x y1 y2 y3 
2 1 10 100 400 
3 2 20 200 500 
4 3 30 300 600 

Maintenant, permet d'ajouter un point de données à y2.": C5 C2"

'using ranges 
Charts("chart1").SeriesCollection("y2").Values = Worksheets("Sheet1").Range("C2:C5") 

'using array constant 
Charts("chart1").SeriesCollection("y2").Values = Array(100, 200, 300, 1000) 

Nous »

 A B  C  D 
1 x y1 y2 y3 
2 1 10 100 400 
3 2 20 200 500 
4 3 30 300 600 
5 4   1000 

Nous devons choisir de la série (par numéro ou par nom, dans ce cas, 2 ou "y2") et définissez la propriété Valeur ll également modifier la propriété XValues ​​de sorte que chaque valeur a une XValue

'using ranges 
Charts("chart1").SeriesCollection("y2").XValues = Worksheets("Sheet1").Range("A2:A5") 

'using array constant 
Charts("chart1").SeriesCollection("y2").XValues = Array(1, 2, 3, 4) 

note:

Nous pouvons avoir des Valeurs comme une plage et des XValues ​​comme une constante de tableau ou vice versa.

Nous pouvons également avoir des valeurs et des valeurs XV comme des plages ou les deux comme des constantes de tableau.

Nous ne peut pas avoir des valeurs comme une plage et une constante de tableau.

Nous ne peut pas avoir XValues ​​comme une plage et une constante de tableau.

Questions connexes