2010-12-07 18 views
0

J'essaie de créer 400 graphiques, un pour chaque élève de mon école. les données de la boucle sont définies dans les colonnes A..E avec les étiquettes de données dans la ligne 1, puis les données pour chaque étudiant apparaissent dans des rangées successives (2-400)Comment incorporer des références relatives dans VBA Macro

J'ai créé une boucle for/next parcourt chaque rangée de données et crée un graphique radar (en utilisant un graphe défini par l'utilisateur appelé CR3) pour chaque élève.

For num = 3 To 400 
Range("A1:E1").Select 
    ActiveCell.Offset(num, 0).Range("A1").Activate 
Charts.Add 
ActiveChart.ApplyCustomType ChartType:=xlUserDefined, TypeName:= _ 
    "CR3" 
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:E1,A" & num & ":E" & num,) 
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1 

Je souhaite maintenant ajouter une nouvelle série d'informations au graphique. Les nouvelles informations apparaissent dans les colonnes H à L pour chaque étudiant. Comment puis-je ajouter la nouvelle série dans la ligne qui commence (Source Active.chart.setsourceData ...)

Répondre

0

Après avoir créé le graphique ajoutez les lignes suivantes

ActiveChart.SeriesCollection.NewSeries 
ActiveChart.SeriesCollection(2).Name = "=""Series 2 Name""" 
ActiveChart.SeriesCollection(2).Values = "='Sheet1'!$B$1:$B$6" 

HTH!

+0

@BHCRisto ... ou ... votre problème est peut-être d'identifier le graphique ?? –

0

cela a été très utile et m'a fait réfléchir. Je l'ai finalement en utilisant le code suivant

ActiveChart.ApplyCustomType ChartType:=xlUserDefined, TypeName:= _ 
    "CR3"   
ActiveChart.SeriesCollection.NewSeries 
ActiveChart.SeriesCollection(1).Name = Sheets("Sheet1").Range("Am" & num) 
ActiveChart.SeriesCollection(1).Values = Sheets("Sheet1").Range("b" & num & ":e" & num) 

ActiveChart.SeriesCollection (2) .Name = Sheets ("Sheet1"). Range ("Aq" & num) ActiveChart.SeriesCollection (2) .Values ​​= Sheets ("Sheet1") Range ("I" & num & ": L" & num).

note que "AM", "b", "e", "aq", "i" et "L" sont des colonnes où résident les données.

Je n'aurais jamais pu l'obtenir sans votre aide. Merci.