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 sichCells()
mit dem Blatt Referenz: ansonstenCells()
beziehen sich immer auf das ActiveSheet, das kann nicht sein, was Sie beabsichtigt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
LastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
und
LastRow = ActiveSheet.UsedRange.Rows.Count
sind die gleichen.
Soweit der tatsächliche Fehler geht, es sieht aus, als wenn Sie keine aktiven Diagramm-Objekt, wenn der code ausgeführt wird. So
ActiveChart.
gibt ein Objekt zurück, Fehler.Versuchen Sie dies:
Ich habe Folgendes versucht und es funktioniert (hinzufügen einer Periode, bevor die Zellen word)
Versuchen unten und lassen Sie mich wissen,