Anzeige
Archiv - Navigation
996to1000
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
Inhaltsverzeichnis

Dynamisieren - Gleiches Diagramm für alle Blätter

Dynamisieren - Gleiches Diagramm für alle Blätter
03.08.2008 05:21:00
Matthias
Hallo,
ich habe in einer Arbeitsmappe mehrere Blätter und ich möchte für jedes Blatt ein Diagramm erstellen.
Das Diagramm ist eigentlich immer dasselbe, nur der Inhalt ändert sich halt, abhängig von dem jeweiligen Blatt.
Mit dem Makrorekorder habe ich die Erstellung eines Diagrammes aufgezeichnet und möchte das erhaltene Makro soweit verallgemeinern, daß es mit jedem Sheet arbeiten soll:
Aus

ActiveChart.SetSourceData Source:=Sheets("IDC_2").Range("A2:F520"), PlotBy _
:=xlColumns


habe ich gemacht:


ActiveChart.SetSourceData Source:=ActiveSheet.Range("A2:F520"), PlotBy _
:=xlColumns


Damit erhalte ich aber nur die Fehlermeldung "Objekt unterstützt diese Eigenschaft oder Methode nicht".
Was mache ich falsch ?
Bei folgender Aktion soll auch immer der Name des aktuellen Sheets anstatt "IDC_2" verwendet werden, was muß ich hier ändern ? (erstellte Textbox besitzt Inhalt wie in Zelle A1 des aktuellen Sheets)


With ActiveChart.TextBoxes.Add(359, 220, 127, 17)
.Select
.AutoSize = True
.Formula = "=IDC_2!$A$1"


Zum Schluß sollte das Diagramm immer den Namen des aktuellen Sheets erhalten, ergänzt um die Buchstabenfolge "Dia" zur Unterscheidung. Was muß ich dazu im Makro einfügen ?
Vielen Dank, Matthias

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Warum Makro
03.08.2008 12:24:31
Daniel
Hi
wenn die Blätter und das Diagramm immer gleich sind, dann würde ich folgendermassen vorgehen:
1. ein zusammenfassungsblatt erstellen
das zusammenfassungsblatt holt sich die Werte aus den einzelnen Blättern nach Vorgabe über die Indirekt-Formel. Damit kann man einfach auswählen, welches Blatt im Zusammenfassungblatt angezeigt werden soll
2. nur ein Diagramm für das zusammenfassungsblatt erstellen.
3. ein paar Formular-Felder einfügen, um die Blattauswahl zu vereinfachen.
Funktioniert recht einfach ohne Makro nur mit Formeln.
schau dir mal das Beispiel an:
https://www.herber.de/bbs/user/54303.xls
hauptvorteil ist, wenn du mal im Diagramm was ändern musst, machst du das nur einmal und nicht für x-Diagramme und die verschiedenen Diagramme sehen immer exakt gleich aus.
Gruß, Daniel

Anzeige
AW: Warum Makro - jetzt mit richtiger Datei
03.08.2008 14:21:56
Matthias
Hallo,
danke für die Antwort, aber ich würde es doch gerne mit dem Makro lösen (zumindest heute, bis heute abend muß ich es fertig haben und da möchte ich mich ungerne woanders einarbeiten).
Hat niemand eine Idee, woran es scheitert ?

AW: Warum Makro - jetzt mit richtiger Datei
03.08.2008 14:45:00
Daniel
Hi
dann lad doch mal deine Datei hoch, das macht die Sache einfacher.
Gruß, Daniel

AW: Warum Makro - jetzt mit richtiger Datei
03.08.2008 15:17:13
Matthias
Hallo Daniel,
danke für Deine Hilfe. Die Datei liegt jetzt auf
https://www.herber.de/bbs/user/54306.xls
Wenn ich im Reiter "SPTA_1" bin, soll durch Aufruf von Makro "Makro3" oder "Makro4" ein Diagramm erzeugt werden.

Anzeige
AW: Warum Makro - jetzt mit richtiger Datei
03.08.2008 16:08:00
Daniel
Hallo
ich hab mir jetzt mal das Makro 4 angeschaut.
das Problem liegt darin, daß du dich auf das Activesheet beziehst.
da du aber ein neues Tabellenblatt für die Charts erstellt hast, gibt es kein ActiveSheet in diesem Sinne mehr, denn das zum Zeitpunkt der Befehlsausführung aktive Sheet ist das Diagrammsheet.
Lösung:
du musst in einer Objektvariablen das aktive Sheet speichern und im Code dann diese Objektvariable einsetzen.
wo du im Code den SheetNamen direkt eingegeben hast, musst du dann die Eigenschaft "Namen" der Objektvariablen abfragen und einfügen.
im Code sieht das dann so aus (ich zeigs nur mal für die ersten Zeilen, für weiter kannst du es dann ja selber einfügen:

Sub Makro4()
' Makro4 Makro
' Makro am 03.08.2008 von MB aufgezeichnet
Dim sh As Worksheet
Set sh = ActiveSheet
'
Charts.Add
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
ActiveChart.SetSourceData Source:=sh.Range("A1:F520"), PlotBy _
:=xlColumns
ActiveChart.SeriesCollection(1).Name = "=" & sh.Name & "!R2C2:R2C2"
ActiveChart.SeriesCollection(2).Name = "=" & sh.Name & "!R2C3:R2C3"
End Sub


Gruß, Daniel

Anzeige
AW: Warum Makro - jetzt mit richtiger Datei
03.08.2008 16:32:00
Matthias
Hallo Daniel,
vielen, vielen Dank ! Nachdem ich mir erstmal die ganzen Verknüpfungen in "=" & sh.Name & "!R2C2:R2C2" auf der Zunge habe zergehen lassen, hat es geklappt !

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige