Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Diagramm von Zellen in der letzten Zeile

Diagramm von Zellen in der letzten Zeile
17.10.2014 12:15:51
Zellen
Hallo Excel-Freunde,
ich versuche derzeit per Makro ein Diagramm zu erstellen, welches aus den Werten in Spalte M und N seine Daten nimmt.
So weit so einfach.

ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlColumnStacked
ActiveChart.SetSourceData Source:=Range("Tabelle1!$M$17:$N$17")

Da die Werte jedoch nicht immer am selben Ort sind, habe ich einen Filter vorangeschoben.

ActiveSheet.Range("$A$1:$Q$40").AutoFilter Field:=1, Criteria1:=Array("gesuchter Text aus  _
Spalte A"), Operator:=xlFilterValues

Nun könnte ich die letzte Zeile ansprechen und würde immer die richtigen Daten bekommen.
Den Inhalt aus Spalte A als Titel zu exportieren funktioniert auch bereits.

ActiveSheet.Range("$A$1:$Q$40").AutoFilter Field:=1, Criteria1:=Array("gesuchter Text aus  _
Spalte A"), Operator:=xlFilterValues
Cells(Range("A1").End(xlDown).row, 1).Select
Selection.Copy

Wenn ich diesen Syntax dann aber für das Diagramm verwenden möchte, kommt der Fehler, dass die _ Range nicht für _Global funktioniert.

ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlColumnStacked
ActiveChart.SetSourceData Source:=Range ("Cells(13,Range(A1).End(xlDown).row):Cells(14, Range( _
A1).End(xlDown).row)")

Ich hoffe mein Anliegen war verständlich und würde mich freuen, wenn jemand dafür eine Lösung hat.
Mit freundlichen Grüßen
Felix

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramm von Zellen in der letzten Zeile
17.10.2014 13:04:24
Zellen
Hallo Felix,
keine Ahnung ob dass den Fehler schon behebt, aber du benutzt RANGE falsch.
So ist es Richtig: Range("A1:B10") mit "
Oder so: Range(Cells(1, 1), Cells(10, 2)) ohne "
Du hast beides falsch gemacht!
ausserdem gilt: Cells(ZEILE,SPALTE) im Gegensatz zu Range("SPALTE-ZEILE"). Ich gehe mal ganz stark davon aus, dass du diese vertauscht hast (denn die letzte Zeile aus xldown als Spalte zu nehmen macht irgenwie wenig Sinn).
Deine Zeile korrigiert:
ActiveChart.SetSourceData Source:=Range(Cells(Range("A1").End(xlDown).Row, 13), Cells(Range("A1").End(xlDown).Row), 14)
Nebenbei, end(xldown).row funktioniert nicht richtig gut mit Autofilter. Teste mal ein paar Grenzfälle, ob du dir damit Probleme einhandelst oder nicht.
Grüße,
Klaus M.vdT.

Anzeige
AW: Diagramm von Zellen in der letzten Zeile
17.10.2014 13:47:19
Zellen
Hallo Klaus,
vielen Dank für die Hinweise.
Ich werde das mal testen, ob ich mit end.row auf Schwierigkeiten stoße.
Wenn ich deinen Lösungsvorschlag ausprobiere, kommt die Meldung "Falsche Anzahl an Argumenten oder ungültige Zuweisung einer Eigenschaft"
VG
Felix

AW: Diagramm von Zellen in der letzten Zeile
18.10.2014 13:27:33
Zellen
Felix,
lädst du die Datei mal hoch, bitte? Sonst bleibt das Rätselraten.
Grüße,
Klaus M.vdT.

AW: Diagramm von Zellen in der letzten Zeile
19.10.2014 08:24:59
Zellen
Hi Felix,
so sollte es eigentlich funktionieren:
    Dim lngLetzte As Long
Range("A1:Q40").AutoFilter field:=1, Criteria1:=Array("a", "b", "c"), Operator:= _
xlFilterValues
lngLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count)
With ActiveSheet.Shapes.AddChart.Chart
.ChartType = xlColumnStacked
.SetSourceData Source:=Range(Cells(lngLetzte, 13), Cells(lngLetzte, 14))
End With


Anzeige

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige