Durchlaufen von Zellen, Erstellen eines Bereichs in VBA
Frage
Ich möchte Zellen durchlaufen und einen Bereich für ein Diagramm erstellen.Mein Hauptproblem ist, dass ich nicht herausfinden kann, wie ich das 'i' in den Bereich integrieren soll.Beispiel:
Dim name As String
Dim newChart as Chart
Dim i as Integer
Set newChart = Charts.add
For i = 1 To 20
accName = Range("C" & i).Value 'I understand why this works.
With newChart
.ChartType = xlColumnClustered
.SeriesCollection.NewSeries
.SeriesCollection(1).Name = accName
.SeriesCollection(1).Values = wb.Worksheets("Summary-Account").Range("E&i:G&i, I&i:K&i, M&i:O&i, Q&i:S&i") 'How can I get this to work?
.SeriesCollection(1).XValues = wb.Worksheets("Summary-Account").Range("E3:G3, I3:K3, M3:O3, Q3:S3")
End With
i = i + 1
Loop
Lösung
Sie müssen wahrscheinlich:
generasacodicetagpre.nicht die klarste Linie aller Zeiten, aber sollte Ihnen das Muster geben, um vorbeizukommen.Es gibt andere Probleme, wie ein "Weiter i" anstelle einer "Schleife" erforderlich ist, und nein i= i + 1, aber auf meinem Computer gab mir dies ein Diagramm mit mehreren Serien darauf.
Andere Tipps
Sie nicht manuell erhöhen
i
.
Funktionfor loop
tut es schon für dich.
So entfernen dassi = i + 1
.Jetzt, um deine zu machen
Range
arbeit, du bräuchtest sein "", um so etwas zu sein :Range("E" & i & ":G" & i
).Ich verstehe nicht ganz, was Sie erreichen wollen, wenn Sie versuchen, Daten aus 6 verschiedenen Spalten zu entnehmen..Sehen Palette für weitere Informationen.
versuchen Sie
generasacodicetagpre.Hiermit werden alle Werte in ein Array kopiert, um in der Serien-Kollektion zu verwenden
verwenden Next i
statt Loop
;und das loswerden i = i+1
.Verwenden Sie auch "E" & i & ":G" & i
statt "E&i:G&i"
Einen Schritt weiter, in vba
Dim i as double
For i = 1 to 100 Step 10 '<= Step 10 means when updating i, i = i + 10, and default value would be 1
Loop '<=breaks here, compile error is expected.
dies ist nicht einmal in der Syntax gültig, das Schlüsselwort Loop
ist mit einem anderen Schlüsselwort verknüpft Do
, und For
ist assoziiert mit Next