Question : Diagrammes d'Excel - Programmatically mettant à jour des gammes de série

Salut tous,

I AM essayant d'obtenir le code d'un certain VBA pour mettre à jour programmatically des gammes de série dans les diagrammes (il y a un bon nombre de eux à faire). le

However, elle obtient a collé sur certains (n'ayant aucun effet). le code du

My est comme suit :

Dim MySht du

Option Explicit

Sub ChartDataFixup () comme Worksheet
Dim MyCht comme ChartObject
Dim MySeries comme Series

sur le résumé Next

d'erreur pour chaque MySht dans le
de ThisWorkbook.Worksheets
si parti (MySht.Name, 3) =
Debug.Print « ++++++ "
de « Cht » Then
de
Debug.Print MySht.Name
pour chaque MyCht dans
de MySht.ChartObjects
pour chaque MySeries dans
Debug.Print de MyCht.Chart.SeriesCollection
« AVANT :  » Et MySeries.Name et « « et le
de MySeries.Formula
MySeries.Formula = remplacent (MySeries.Formula, « $42, », « $999,
Debug.Print de ")
« ENSUITE :  » Et MySeries.Name et « « et rendement du

End Sub


The du
Next

Debug.Print « ++++++ " d'If
de fin du
du
Next
du
Next
de MySeries.Formula
dans la fenêtre immédiate est comme ceci (j'ai seulement collé les trois premiers, mais il y a des douzaines) :

++++++
Cht - revenu - Month
BEFORE : Un =SERIES (données ! $E$5, « SPS Projection.xls » ! Chart_Period, données ! $E$7 : $E$999, 1)
AFTER : Un =SERIES (données ! $E$5, « SPS Projection.xls » ! Chart_Period, données ! $E$7 : $E$999, 1)
BEFORE : =SERIES de B (données ! $F$5, « SPS Projection.xls » ! Chart_Period, données ! $F$7 : $F$999, 2)
AFTER : =SERIES de B (données ! $F$5, « SPS Projection.xls » ! Chart_Period, données ! $F$7 : $F$999, 2)
BEFORE : =SERIES de C (données ! $G$5, « SPS Projection.xls » ! Chart_Period, données ! $G$7 : $G$999, 3)
AFTER : =SERIES de C (données ! $G$5, « SPS Projection.xls » ! Chart_Period, données ! $G$7 : $G$999, 3)
BEFORE : =SERIES de D (données ! $H$5, « SPS Projection.xls » ! Chart_Period, données ! $H$7 : $H$999, 4)
AFTER : =SERIES de D (données ! $H$5, « SPS Projection.xls » ! Chart_Period, données ! $H$7 : $H$999, 4)
BEFORE : =SERIES d'E (données ! $I$5, « SPS Projection.xls » ! Chart_Period, données ! $I$7 : $I$999, 5)
AFTER : =SERIES d'E (données ! $I$5, « SPS Projection.xls » ! Chart_Period, données ! $I$7 : $I$999, 5)
BEFORE : =SERIES de F (données ! $J$5, « SPS Projection.xls » ! Chart_Period, données ! $J$7 : $J$999, 6)
AFTER : =SERIES de F (données ! $J$5, « SPS Projection.xls » ! Chart_Period, données ! $J$7 : $J$999, 6)
BEFORE : =SERIES de G (données ! $K$5, « SPS Projection.xls » ! Chart_Period, données ! $K$7 : $K$999, 7)
AFTER : =SERIES de G (données ! $K$5, « SPS Projection.xls » ! Chart_Period, données ! $K$7 : $K$999, 7)
BEFORE : =SERIES du total (RHS) (données ! $N$5, données ! $N$7 : $N$999, 8)
AFTER : =SERIES du total (RHS) (données ! $N$5, données ! $N$7 : $N$999, 8)
++++++
Cht - bénéfice brut Month
BEFORE : Un =SERIES (données ! $A5, « SPS Projection.xls » ! Chart_Period, données ! $A7 :
AFTER de $A999,1) : Un =SERIES (données ! $A5, « SPS Projection.xls » ! Chart_Period, données ! $A7 :
BEFORE de $A999,1) : =SERIES de B (données ! $AD$5, « SPS Projection.xls » ! Chart_Period, données ! $AD$7 :
AFTER de $AD$999,2) : =SERIES de B (données ! $AD$5, « SPS Projection.xls » ! Chart_Period, données ! $AD$7 :
BEFORE de $AD$999,2) : =SERIES de C (données ! $AE$5, « SPS Projection.xls » ! Chart_Period, données ! $AE$7 :
AFTER de $AE$999,3) : =SERIES de C (données ! $AE$5, « SPS Projection.xls » ! Chart_Period, données ! $AE$7 :
BEFORE de $AE$999,3) : =SERIES de D (données ! $AF$5, « SPS Projection.xls » ! Chart_Period, données ! $AF$7 :
AFTER de $AF$999,4) : =SERIES de D (données ! $AF$5, « SPS Projection.xls » ! Chart_Period, données ! $AF$7 :
BEFORE de $AF$999,4) : =SERIES d'E (données ! $AG$5, « SPS Projection.xls » ! Chart_Period, données ! $AG$7 :
AFTER de $AG$999,5) : =SERIES d'E (données ! $AG$5, « SPS Projection.xls » ! Chart_Period, données ! $AG$7 :
BEFORE de $AG$999,5) : =SERIES du total (RHS) (données ! $AL$5, données ! $AL$7 :
AFTER de $AL$999,6) : =SERIES du total (RHS) (données ! $AL$5, données ! $AL$7 :
BEFORE de $AL$999,6) : =SERIES de F (données ! $AH$5, « SPS Projection.xls » ! Chart_Period, données ! $AH$7 :
AFTER de $AH$999,7) : =SERIES de F (données ! $AH$5, « SPS Projection.xls » ! Chart_Period, données ! $AH$7 :
BEFORE de $AH$999,7) : =SERIES de G (données ! $AI$5, « SPS Projection.xls » ! Chart_Period, données ! $AI$7 :
AFTER de $AI$999,8) : =SERIES de G (données ! $AI$5, « SPS Projection.xls » ! Chart_Period, données ! $AI$7 :
++++++
Cht - GP% de $AI$999,8) - Month
BEFORE : Un =SERIES (données ! $BA$5, « SPS Projection.xls » ! Chart_Period, données ! $BA$7 : $BA$42, 1)
AFTER : Un =SERIES (données ! $BA$5, « SPS Projection.xls » ! Chart_Period, données ! $BA$7 : $BA$42, 1)
BEFORE : =SERIES de B (données ! $BB$5, « SPS Projection.xls » ! Chart_Period, données ! $BB$7 : $BB$42, 2)
AFTER : =SERIES de B (données ! $BB$5, « SPS Projection.xls » ! Chart_Period, données ! $BB$7 : $BB$42, 2)
BEFORE : =SERIES de D (données ! $BD$5, « SPS Projection.xls » ! Chart_Period, données ! $BD$7 : $BD$42, 3)
AFTER : =SERIES de D (données ! $BD$5, « SPS Projection.xls » ! Chart_Period, données ! $BD$7 : $BD$42, 3)
BEFORE : =SERIES d'E (données ! $BE$5, « SPS Projection.xls » ! Chart_Period, données ! $BE$7 : $BE$42, 4)
AFTER : =SERIES d'E (données ! $BE$5, « SPS Projection.xls » ! Chart_Period, données ! $BE$7 : $BE$42, 4)
BEFORE : =SERIES de F (données ! $BF$5, « SPS Projection.xls » ! Chart_Period, données ! $BF$7 : $BF$42, 5)
AFTER : =SERIES de F (données ! $BF$5, « SPS Projection.xls » ! Chart_Period, données ! $BF$7 : $BF$42, 5)
BEFORE : =SERIES de G (données ! $BG$5, « SPS Projection.xls » ! Chart_Period, données ! $BG$7 : $BG$42, 6)
AFTER : =SERIES de G (données ! $BG$5, « SPS Projection.xls » ! Chart_Period, données ! $BG$7 : $BG$42, 6)
++++++


As que vous pouvez voir, course (précédente) du code a fixé les deux premiers diagrammes, mais a échoué sur le troisième chart.

What suis je manquant ici ?

Thanks,

Alan.
class= de

Réponse : Diagrammes d'Excel - Programmatically mettant à jour des gammes de série

Ceci fonctionne pour moi, using la notation du modèle R1C1. Lui donner un essai svp : -)


                    Debug.Print « AVANT :  » Et MySeries.Name et « « et MySeries.FormulaR1C1
                    MySeries.FormulaR1C1 = remplacent (MySeries.FormulaR1C1, « R42C », « R99C »)
                    Debug.Print « ENSUITE :  » Et MySeries.Name et « « et MySeries.FormulaR1C1
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us