VBA Excel Graphiques -> gamme sélectionnez à l'aide de “Cellules” dans un délai de Graphiques

Je suis en train de modifier un code VBA (Excel) qui rend Graphique graphiques, et de le rendre plus souple.

Je sais que les pièces suivantes de code est fondamentalement la même chose:

Range(Cells(12, 2), Cells(15, 2)).Select    

est plus ou moins identique à:

Range("B12:B15").Select    

Mon objectif était d'avoir un Graphique qui représente le flexible de compteur de lignes.

J'ai donc modifié le code existant:

ActiveChart.SetSourceData Source:=Sheets("Log-Data").Range("B12:B200"), PlotBy:=xlColumns    

à

Dim LastRow As Integer
LastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row    
ActiveChart.SetSourceData Source:=Sheets("Log-Data").Range(Cells(12, 2), Cells(LastRow, 2)), PlotBy:=xlColumns    

Maintenant, chaque fois que j'exécute le code, je reçois:

Erreur d'exécution '1004': définie par l'Application ou par l'objet défini erreur

La LastRow variable n'est pas le problème: j'ai le même résultat si je le remplace par 200.

Ce que je fais mal?

Acclamations

Peter

  • Whenver vous utilisez sheetname.Range(Cells(a,b), Cells(a2,b2)) vous devriez toujours se qualifier chaque Cells() avec la feuille de référence: dans le cas contraire, Cells() va toujours se référer à la ActiveSheet, qui peut ne pas être ce que vous souhaitiez.
InformationsquelleAutor PeterKallus | 2013-04-05