Live-Forum - Die aktuellen Beiträge
Datum
Titel
30.11.2023 15:56:49
Anzeige
Anzeige
HERBERS
Excel-Forum
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


Hallo Hans,
wenn ich die URLs richtig interpretiere, haben wir im Forum soeben die Zahl von 1 Million Beiträgen überschritten.
Herzlichen Glückwunsch zu dem Erfolg Deines "Babys"!
Gruß
Martin

Hallo Leute,
heute habe ich wieder mal ein einfaches Problem für Euch, an dem ich aber nicht weiter kommen:
Ich möchte die Arbeitsblätter in meiner Arbeitsmappe zählen. Das ist ja kein Problem (ThisWorkbook.sheets.count).
wenn das makro mehr als ein Arbeitsblatt zählt (also das Erge...

Hallo zusammen!
Ich habe da als blutiger Anfänger in VBA zwei Fragen:
1.) Wie kann ich in meiner Tabelle in jeder zweiten Spalte 4 leere Spalten einfügen lassen?
2.) Dann möchte ich unter den Inhalt der ersten fünf Spalten (A-E) den Inhalt der zweiten 5 Spalten (F-J) usw. In der grö...

Guten Morgen!
Ich hätte folgendes Problem: Ich erhalte automatisiert Exceltabellen, bei denen nicht alle Zellen einer Zeile gefüllt werden, wenn dort der Inhalt einer darüberliegenden Zeile stehen sollte. Zur Weiterverarbeitung muss ich aber diese Zellen mit den dazugehörigen Werten füllen....

Hallo,
google spuckt Zu "Excel" und "Häufigkeitslücken" lediglich 3 Treffer aus, die nicht gerade brauchbar für meine Aufgabe sind.
Ich muss für 3 Variablen eine Typisierung mit einer Häufigkeitslücke durchführen.
Hiermit bin ich fast gänzlich überfragt. Mit Quantilen hatte ich das...

Hallo zusammen,
ich habe eine lange Liste, in der in einer Spalte Daten stehen, wo ab und zu vorangehende Nullen nötig sind (mal eine - mal 2...etc.) - und manchmal auch keine.
Wie kann ich diese Zellen formatieren, das die vorangehenden "Nullen" nicht automatisch weggelassen werden?

Links zu Excel-Dialogen

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige