Excel-VBA Charts -> Bereich wählen Sie mit "Zellen" innerhalb Charts

Ich versuche zum ändern einer bestehenden VBA code (Excel), die Diagramm-Grafiken, und machen es flexibler.

Ich weiß, dass der folgende code-Stücken, die im Grunde das gleiche:

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

ist mehr oder weniger identisch:

Range("B12:B15").Select    

Mein Ziel war es, ein Diagramm, das entspricht der flexiblen Anzahl von Zeilen.

Also ich habe geändert den vorhandenen code:

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

zu

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    

Nun, wenn ich den code auszuführen, erhalte ich:

Run-time error '1004': Application-defined or object-defined error

Den LastRow variable ist nicht das problem: ich habe das gleiche Ergebnis, wenn ich ersetzen Sie es mit 200.

Was mache ich falsch?

Cheers

Peter

  • Whenver Sie verwenden sheetname.Range(Cells(a,b), Cells(a2,b2)) sollten Sie immer qualifizieren sich Cells() mit dem Blatt Referenz: ansonsten Cells() beziehen sich immer auf das ActiveSheet, das kann nicht sein, was Sie beabsichtigt.
InformationsquelleAutor PeterKallus | 2013-04-05
Schreibe einen Kommentar