2017-09-25 6 views
0

Je vois ceci: https://msdn.microsoft.com/VBA/PowerPoint-VBA/articles/chart-setsourcedata-method-powerpoint et je l'ai utilisé quelque chose de similaire à:Comment utiliser correctement SetSourceData dans PowerPoint

.Chart.SetSourceData _ 
    Source:="='Sheet1'!$A$1:$D$5", _ 
    PlotBy:=xlColumns 

Tout cela fonctionne très bien et bien. Mais maintenant, comment puis-je commencer à utiliser des variables pour définir la plage dont j'ai besoin? .Cells ne semble pas fonctionner ici, et ce que j'essaie de faire est de trouver la première et la dernière rangée/colonne utilisée et de mettre cela dans la gamme. Je ne sais comment faire cela en utilisant .Cells. On dirait qu'il me manque quelque chose ... Y a-t-il un bon moyen de le faire que je ne vois pas?

Je ne comprends vraiment pas comment fonctionne le format après Source=.

Merci à l'avance

+1

Vous pouvez utiliser 'Range.Address' et l'utiliser dans' Source = 'de manière similaire à l'utilisation d'une formule de feuille de calcul avec une variable:' Source = "=" & Range.Address & "" ' –

+0

@VictorK Dites que j'ai quelque chose Cela ressemble à ceci: 'Dim LastRow As Long Dim LastColumn As Long LastRow = Feuilles de travail (1) .UsedRange.Rows.Count LastColumn = Worksheets (1) .UsedRange.Columns.Count' Comment utiliser Adresse pour changer le 'Source: =" = 'Sheet1'! $ A $ 1: $ D $ 5 "ci-dessus? – Pinlop

+1

pas testé, mais je voudrais essayer: 'Source: =" = "'Sheet1'!" & .Range (.Cells (1,1) ,. Cellules (LastRow, LastColumn)). Adresse & "" '. à la fois '.Range' et' .Cells' devraient être complètement qualifiés avec une feuille de calcul d'une manière ou d'une autre –

Répondre

1
Source:= "='Sheet1'!" & _ 
.Range(.Cells(1,1),.Cells(LastRow,LastColumn)).Address & _ 
"" 

Notez que les deux .Range et .Cells devraient être pleinement quallified avec une feuille de calcul d'une certaine façon.