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

Diagrammformatierung übertragen

Forumthread: Diagrammformatierung übertragen

Diagrammformatierung übertragen
01.08.2008 09:19:00
Jonas
Hallo Leute,
ich habe in meiner Exceldatei jede Menge Diagramme. Nun ist es aber dazu gekommen, dass ich z.B. die Farben der Balken ändern muss. Gibt es eine Möglichkeit, die Formatierungen aller Diagramme auf einmal zu ändern.
Oder gibt es ein Makro dafür, welches NUR die Formatierung eines Diagrammes nimmt und auf die anderen überträgt.
Ich danke euch schonmal im Voraus
Gruß
Jonas

Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagrammformatierung übertragen
01.08.2008 09:59:32
Beverly
Hi Jonas,
eine in Excel integrierte Lösung so wie z.B. das Übertragen von Formaten auf Zellen gibt es nicht. Eine Lösung mittels VBA wäre möglich, das hängt aber von verschiedenen Umständen ab: sind alle Diagramme vom selben Typ, haben sie die selbe Anzahl an Datenreihen, welches ist das "Standarddiagramm" dessen Formatierung als Grundlage genommen werden soll - um nur einige Dinge anzusprechen. Mit anderen Worten - das Makro hängt von den ganz konkreten Gegebenheiten in deiner Arbeitsmappe ab.


Anzeige
AW: Diagrammformatierung übertragen
01.08.2008 10:10:48
Jonas
Das ist ja aber wieder kompliziert.
Also die Diagramme sind immer die selben. Sie haben nur ihre eigene Datentabelle. Üerall steht das selbe drin.
Das Standarddiagramm wäre sozusagen das erste was in der Arbeitsmappe enthalten ist.
Ich möchte wie gesagt nur eines formatieren und Rest soll übertragen werden.
Ist das Makro komplizierter?
Danke für die Hilfe
Gruß
Jonas

Anzeige
AW: Diagrammformatierung übertragen
01.08.2008 10:41:00
Beverly
Hi Jonas,

Sub dia_anpassen()
Dim chDiagramm1 As Chart
Dim chDiagramm2 As ChartObject
Dim inReihe As Integer
Set chDiagramm1 = ActiveSheet.ChartObjects(1).Chart
For Each chDiagramm2 In ActiveSheet.ChartObjects
With chDiagramm2.Chart
For inReihe = 1 To .SeriesCollection.Count
.SeriesCollection(inReihe).Interior.ColorIndex = chDiagramm1.SeriesCollection( _
inReihe).Interior.ColorIndex
Next inReihe
End With
Next chDiagramm2
Set chDiagramm1 = Nothing
End Sub


Der Code gilt für in die Tabelle eingebettete Diagrammobjekte.



Anzeige
AW: Diagrammformatierung übertragen
01.08.2008 10:51:49
Jonas
Hi Beverly,
das Makro ist ganz cool aber gibt es eine Möglichkeit, die Farbe und die Größe der Formen zu übertragen.
Ein riesendankeschön schon mal:)
Jonas

AW: Diagrammformatierung übertragen
01.08.2008 11:31:58
Beverly
Hi Jonas,
mit Farbe und Größe der Formen meinst du die Markierung der Datenreihen z.B. in einem Liniendiagramm?

Sub dia_anpassen()
Dim chDiagramm1 As Chart
Dim chDiagramm2 As ChartObject
Dim inReihe As Integer
Set chDiagramm1 = ActiveSheet.ChartObjects(1).Chart
For Each chDiagramm2 In ActiveSheet.ChartObjects
With chDiagramm2.Chart
For inReihe = 1 To .SeriesCollection.Count
With .SeriesCollection(inReihe)
.Border.ColorIndex = chDiagramm1.SeriesCollection(inReihe).Border. _
ColorIndex
.Border.Weight = chDiagramm1.SeriesCollection(inReihe).Border.Weight
.Border.LineStyle = chDiagramm1.SeriesCollection(inReihe).Border.LineStyle
.MarkerBackgroundColorIndex = chDiagramm1.SeriesCollection(inReihe). _
MarkerBackgroundColorIndex
.MarkerForegroundColorIndex = chDiagramm1.SeriesCollection(inReihe). _
MarkerForegroundColorIndex
.MarkerStyle = chDiagramm1.SeriesCollection(inReihe).MarkerStyle
.MarkerSize = chDiagramm1.SeriesCollection(inReihe).MarkerSize
End With
Next inReihe
End With
Next chDiagramm2
Set chDiagramm1 = Nothing
End Sub




Anzeige
AW: Diagrammformatierung übertragen
01.08.2008 11:50:00
Jonas
Hi Beverly,
Supertoll.
Das funktioniert. Genial.
Ich habe ein Punktdiagramm aber das Makro erzeugt mir extra noch Linien rein. Kann ich das irgendwie abstellen?
Ansonster ist es toll
Danke
Jonas

AW: Diagrammformatierung übertragen
01.08.2008 13:07:24
Beverly
Hi Jonas,
bei solchen Dingen mach es sich immer gut, den genauen Diagrammuntertyp anzugeben. Es spielt dabei keine Rolle, ob es ein Linien- oder ein Punkt(XY)-Diagramm ist, aber ob Verbindungslinien zwischen den Datenpunkten existieren oder nicht.

Sub dia_anpassen()
Dim chDiagramm1 As Chart
Dim chDiagramm2 As ChartObject
Dim inReihe As Integer
Set chDiagramm1 = ActiveSheet.ChartObjects(1).Chart
For Each chDiagramm2 In ActiveSheet.ChartObjects
With chDiagramm2.Chart
For inReihe = 1 To .SeriesCollection.Count
With .SeriesCollection(inReihe)
.Border.ColorIndex = chDiagramm1.SeriesCollection(inReihe).Border. _
ColorIndex
If .Border.LineStyle = xlAutomatic Then
.Border.Weight = chDiagramm1.SeriesCollection(inReihe).Border.Weight
End If
.Border.LineStyle = chDiagramm1.SeriesCollection(inReihe).Border.LineStyle
.MarkerBackgroundColorIndex = chDiagramm1.SeriesCollection(inReihe). _
MarkerBackgroundColorIndex
.MarkerForegroundColorIndex = chDiagramm1.SeriesCollection(inReihe). _
MarkerForegroundColorIndex
.MarkerStyle = chDiagramm1.SeriesCollection(inReihe).MarkerStyle
.MarkerSize = chDiagramm1.SeriesCollection(inReihe).MarkerSize
End With
Next inReihe
End With
Next chDiagramm2
Set chDiagramm1 = Nothing
End Sub




Anzeige
AW: Diagrammformatierung übertragen
01.08.2008 13:13:00
Jonas
Funktioniert super.
vielen Dank und ein schönes Wochenende.
Gruß
Jonas

AW: Diagrammformatierung übertragen
01.08.2008 10:26:00
Christian
Hallo Jonas,
du kannst dein erstes Diagramm nach deinen Vorstellungen formatieren und dieses Format dann als Benutzerdefinierten Diagramm-Typ speichern.
- Rechtsklick auf Diagramm
- Diagrammtyp
- Reiter :"Benutzerdefinierte Typen"
- Häkchen bei "Benutzdefiniert"
- Click auf "Hinzufügen
- anschl. einen Namen vergeben
allen weiteren Diagrammen kannst du jetzt diesen Typ zuordnen oder du definierst zuvor den Typ als "Standard-Diagramm-Typ, dann wird jedes neue Diagamm in diesem Format erstellt.
Gruß
Christian

Anzeige
AW: Diagrammformatierung übertragen
01.08.2008 10:46:00
Jonas
Hi Christian,
die Makrolose Methode kenn ich schon. Das Problem ist nur, dass die Diagramme alle schon existieren! Das heißt ich brauche was, womit ich die Formatierung des Masterdiagramm auf alle automatisch übertragen kann.
Aber dennoch danke
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Diagrammformatierung in Excel übertragen


Schritt-für-Schritt-Anleitung

Um die Formatierung eines Diagramms auf andere Diagramme in einer Excel-Arbeitsmappe zu übertragen, kannst du ein VBA-Makro verwenden. Hier ist eine einfache Anleitung:

  1. Öffne Excel und lade die Arbeitsmappe mit den Diagrammen.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke im Menü auf Einfügen > Modul.

  4. Kopiere den folgenden Code in das Modul:

    Sub dia_anpassen()
       Dim chDiagramm1 As Chart
       Dim chDiagramm2 As ChartObject
       Dim inReihe As Integer
       Set chDiagramm1 = ActiveSheet.ChartObjects(1).Chart
       For Each chDiagramm2 In ActiveSheet.ChartObjects
           With chDiagramm2.Chart
               For inReihe = 1 To .SeriesCollection.Count
                   With .SeriesCollection(inReihe)
                       .Border.ColorIndex = chDiagramm1.SeriesCollection(inReihe).Border.ColorIndex
                       .MarkerBackgroundColorIndex = chDiagramm1.SeriesCollection(inReihe).MarkerBackgroundColorIndex
                       .MarkerForegroundColorIndex = chDiagramm1.SeriesCollection(inReihe).MarkerForegroundColorIndex
                       .MarkerStyle = chDiagramm1.SeriesCollection(inReihe).MarkerStyle
                       .MarkerSize = chDiagramm1.SeriesCollection(inReihe).MarkerSize
                   End With
               Next inReihe
           End With
       Next chDiagramm2
       Set chDiagramm1 = Nothing
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Führe das Makro aus: Drücke ALT + F8, wähle dia_anpassen und klicke auf Ausführen.

Damit wird die Formatierung des ersten Diagramms auf alle anderen übertragen.


Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass es sich um eingebettete Diagramme handelt. Das Makro funktioniert nur mit ChartObjects.
  • Fehler: Diagrammformatierung ändert sich nicht.

    • Lösung: Überprüfe, ob die Diagramme vom selben Typ sind und die gleiche Anzahl an Datenreihen haben.
  • Fehler: Zusätzliche Linien in Punktdiagrammen.

    • Lösung: Stelle sicher, dass die Linien für das Diagramm nicht aktiviert sind. Der Code kann entsprechend angepasst werden.

Alternative Methoden

Falls du keine Makros verwenden möchtest, kannst du auch die Benutzerdefinierte Diagramm-Typ-Funktion in Excel nutzen:

  1. Rechtsklicke auf das Diagramm, das du formatiert hast.
  2. Wähle Diagrammtyp und dann den Reiter Benutzerdefinierte Typen.
  3. Aktiviere das Häkchen bei Benutzerdefiniert und klicke auf Hinzufügen.

So kannst du das Format des Diagramms speichern und auf andere übertragen, aber diese Methode ist weniger flexibel als die VBA-Lösung.


Praktische Beispiele

Hier sind einige praktische Beispiele zur Verwendung des Makros:

  1. Diagrammfarben ändern: Wenn du die Farben der Balken in einem Säulendiagramm ändern möchtest, kannst du das Makro verwenden, um die gewünschten Farben zu übertragen.

  2. Excel Grafik Format übertragen: Verwende das Makro, um das Design von einer Grafik auf eine andere zu übertragen, ohne jede einzelne Einstellung manuell ändern zu müssen.

  3. Bedingte Formatierung in Diagrammen: Das Makro kann auch so angepasst werden, dass es die bedingte Formatierung für Excel-Diagramme übernimmt.


Tipps für Profis

  • Verwende benannte Bereiche: Wenn du mit großen Datenmengen arbeitest, nutze benannte Bereiche, um die Übersichtlichkeit zu erhöhen.
  • Makros anpassen: Passe das Makro an deine spezifischen Anforderungen an, z. B. wenn du zusätzliche Eigenschaften wie Schriftarten und Größen ändern möchtest.
  • Sichere deine Arbeitsmappe: Bevor du ein Makro ausführst, erstelle eine Sicherungskopie deiner Arbeitsmappe.

FAQ: Häufige Fragen

1. Wie kann ich die Größe der Diagramme übertragen? Du kannst die Diagrammgröße im Makro anpassen, indem du die Height und Width Eigenschaften der Diagramme festlegst.

2. Kann ich das Makro für unterschiedliche Diagrammtypen verwenden? Ja, das Makro kann für verschiedene Diagrammtypen verwendet werden, aber achte darauf, dass die Eigenschaften, die du überträgst, für jeden Typ sinnvoll sind.

3. Funktioniert das auch in PowerPoint? Das Übertragen von Diagrammformaten zwischen Excel und PowerPoint ist nicht direkt möglich, aber du kannst das Format in Excel anpassen und dann das Diagramm in PowerPoint einfügen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige