Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
988to992
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
988to992
988to992
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Diagramm per VBA von aktueller Zelle aus erstellen

Diagramm per VBA von aktueller Zelle aus erstellen
03.07.2008 14:02:00
aktueller
Hallo,
ein Kollege von mir möchte in Excel automatisiert Diagramme von der aktuellen Zelle aus erstellen. Das Anwählen von "relativer Verweis" markiert zwar einen Bereich von der jeweils aktuellen Cursorposition aus, aber beim Erstellen des Diagrammes wird im VBA-Code dann wieder ein absoluter Bezug gewählt.
Hier der kurze Code, wie er vom Makrorekorder erzeugt wird:

Sub Makro1()
ActiveCell.Range("A1:H96").Select
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Tagesgang").Range("Z213:AG308"), _
PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Tagesgang"
ActiveChart.HasLegend = True
ActiveChart.Legend.Select
Selection.Position = xlRight
End Sub


Leider sind meine bzw. unsere VBA-Kenntnisse mehr als bescheiden und ich bin nie wirklich eingestiegen. Unsere Versuche den Ausdruck Range("Z213:AG308") durch irgendwas Anderes "Relatives" zu ersetzen, sind kläglich gescheitert. Was müssen wir tun, dass Excel jeweils von der aktuellen Cursor-Position aus einen Wertebereich als Diagrammquelle nimmt?
Liebe Grüße
Matthias

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

Betreff
Datum
Anwender
Anzeige
AW: Diagramm per VBA von aktueller Zelle aus erstellen
03.07.2008 14:09:28
aktueller
Hallo,
so ändern (ungetestet):

Sub Makro1()
Const z = 10
Const s = 20
Dim zelle As Range
Set zelle = ActiveCell
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Tagesgang").Range(zelle, zelle.Offset(z, s)), _
PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Tagesgang"
ActiveChart.HasLegend = True
ActiveChart.Legend.Select
Selection.Position = xlRight
End Sub


Die Konstanten z und s müssen angepasst werden.
Gruß Matthias

AW: Diagramm per VBA von aktueller Zelle aus erste
03.07.2008 14:26:00
aktueller
Super, funktioniert! Vielen Dank :-)
Vielleicht ist das Problem ein Anlass für mich, doch mal zu versuchen, etwas mehr in VBA einzusteigen ;-)
Matthias

Anzeige
AW: Diagramm per VBA von aktueller Zelle aus erstellen
03.07.2008 14:18:00
aktueller
Hallo, versucht mal (auch ungetestet):
ActiveChart.SetSourceData Source:=Sheets("Tagesgang").Selection.CurrentRegion, _
PlotBy:=xlColumns
Excel versucht, die aktuelle Markierung richtig zu erweitern.
Falls das nicht klappt, vielleicht den kompletten Bereich vorher auswählen und dann
ActiveChart.SetSourceData Source:=Sheets("Tagesgang").Selection, _
PlotBy:=xlColumns
Gutes Gelingen, Gruß, Wolli

AW: Diagramm per VBA von aktueller Zelle aus erste
03.07.2008 14:27:12
aktueller
Vielen Dank. Die Lösung von Matthias funktioniert erstmal. Werde aber Deine auch noch testen :-)
Matthias

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige