2008-10-16 11 views
1

J'ai un graphique dans une feuille de calcul dans Excel et j'ai une macro configurée de sorte que lorsque je change la valeur dans une certaine cellule, la plage de données dans le tableau est A2 jusqu'à la ligne correspondant à ce numéro certaine cellule.Comment faire pour définir l'axe X par programme sur un graphique?

Ce que je ne peux pas l'air d'être en mesure de faire est de modifier l'axe comme aucun axe spécifié ne couvre plus la plage du graphique-à-dire l'axe courant X est réglé sur:

=Sheet1!$C$2:$C$600 

je peux Ne comprenez pas comment je peux mettre à jour ceci dans une macro. Toute aide serait très appréciée.

Répondre

2

Vous devriez être en mesure de définir la propriété XValues ​​de la même manière que vous l'avez fait dans la réponse de Lance pour votre other question.

Charts("chartname").SeriesCollection(1).XValues = "=MYXAXIS" 

ou tout ce que vous appelez la plage nommée pour les valeurs de l'axe x. Si vous avez plusieurs séries dans votre graphique, vous devez modifier la valeur dans SeriesCollection pour faire référence à la bonne série.

1

La «certaine cellule» contient-elle le dernier numéro de ligne des données? (ce n'est pas tout à fait clair)

Supposons que la cellule F1 contienne la dernière ligne dans les données. Vous pouvez construire une adresse et une plage comme celle-ci:

Dim rXVals As Range 
Dim sAddress AS String 

sAddress = "Sheet1!$C$2:$C$" & Worksheets("Sheet1").Range("F1").Value 
Set rXVals = Range(sAddress) 
Worksheets("Sheet1").ChartObjects(1).Chart.SeriesCollection(1).XValues = rXVals