Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Markierungsline und Linie im Diagramman passen

Forumthread: Markierungsline und Linie im Diagramman passen

Markierungsline und Linie im Diagramman passen
21.06.2017 09:29:03
Thomas
Hallo zusammen,
möchte per VBA die Darstellung eines Diagramms ändern. Die entsprechenden Daten werden als ChartType = xlXYScatter dargestellt. Nun würde möchte ich die Formatierung entsprechend meinen Wünschen anpassen. Allerdings habe ich das Problem, dass wenn ich die Markierungslinenformatierung (Farbe, Strichstärke) vorgebe, sich das auch auf die Linienformatierung, die ich ja nicht möchte (ChartType = xlXYScatter), ebenfalls ansteure.
Nachfolgend der VBA-Ausschnitt:

ActiveChart.SeriesCollection(5).ChartType = xlXYScatter
ActiveChart.SeriesCollection(5).Select
With Selection
.MarkerStyle = 8
.MarkerSize = 7
End With
Selection.Format.Fill.Visible = msoFalse
With Selection.Format.Line
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 176, 240)
.Transparency = 0
.Weight = 0.75
End With

Kann mir von Euch jemand helfen wie ich dies getrennt per VBA programmieren kann? Mit Format.Line werden wie gesagt Markierungsline aber auch die Linie angesprochen.
Besten Dank im Voraus für Eure Hilfe
Grüße
Thomas
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Markierungsline und Linie im Diagramman passen
21.06.2017 09:56:30
Beverly
Hi Thomas,
verstehe ich dich richtig: du willst nur die Rahmenlinie der Marker färben? Dann nach diesem Prinzip:
    With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(5)
.ChartType = xlXYScatter
.MarkerStyle = 8
.MarkerSize = 7
.MarkerForegroundColorIndex = 3  '


Anzeige
AW: Markierungsline und Linie im Diagramman passen
21.06.2017 10:13:27
Thomas
Hallo Beverly,
Danke für deine Antwort.
Dein VBA hat funktioniert. Du hattest das richtig verstanden.
Hatte es noch mit
.Format.Fill.Visible = msoFalse
ergänzt.
Jetzt ist es so, wie ich es wollte.
Kennst Du zufällig auch den "Befehl" für die Linie?
Vielleicht hast Du auch einen guten Link im Internet, wo man so etwas in einer Art Bibliothek nachschlagen kann.
VG
Thomas
Anzeige
AW: Markierungsline und Linie im Diagramman passen
21.06.2017 10:19:02
Thomas
Hi Beverly,
die Linienbreite der Markierung ist aktuell noch nicht definiert. Kennst Du dafür ganz zufällig auch den Befehl?
VG Thomas
AW: Markerrahmen und Linie im Diagramman passen
21.06.2017 10:55:42
Beverly
Hi Thomas,
versuche es mal so:
    With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(5)
.ChartType = xlXYScatter
.Format.Line.Weight = 3 '


Anzeige
AW: Markerrahmen und Linie im Diagramman passen
21.06.2017 11:19:01
Thomas
Hi Beverly,
mit dem Befehl
.Format.Line.Weight = 3 '
kommt auch die "Linie" wieder.
Somit wird mit dem Befehl nicht nur die Markierungslinienstärke sondern auch die Linie angesprochen und ist dann wieder sichtbar.
VG Thomas
AW: Markerrahmen und Linie im Diagramman passen
21.06.2017 11:45:16
Beverly
Hi Thomas,
dann hatte ich dich falsch verstanden - ich dachte, die Linie soll eine andere Stärke als die Markerrahmen erhalten. So sollte es funktionieren:
    Dim serReihe As Series
Set serReihe = ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
With serReihe
.ChartType = xlXYScatter
.Format.Line.Weight = 3 '


Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Markierungsline und Linie im Diagramm anpassen


Schritt-für-Schritt-Anleitung

Um die Markierungslinien und Linien in einem Diagramm per VBA zu formatieren, kannst du folgende Schritte befolgen:

  1. Diagramm auswählen: Stelle sicher, dass das gewünschte Diagramm aktiv ist. Du kannst dies mit ActiveSheet.ChartObjects(1) tun, wobei 1 die Nummer deines Diagramms ist.

  2. ChartType festlegen: Setze den Diagrammtyp auf xlXYScatter:

    ActiveSheet.ChartObjects(1).Chart.SeriesCollection(5).ChartType = xlXYScatter
  3. MarkerStyle und MarkerSize anpassen: Um die Markerdesigns zu ändern, verwende die folgenden Befehle:

    With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(5)
       .MarkerStyle = 8
       .MarkerSize = 7
    End With
  4. Linien- und Markerformatierung: Um die Linien- und Markerformatierung getrennt zu steuern, stelle sicher, dass du die Formatierung der Marker und Linien in separaten Blöcken vornimmst. Beispiel:

    With Selection.Format.Line
       .Visible = msoTrue
       .ForeColor.RGB = RGB(0, 176, 240)
       .Transparency = 0
       .Weight = 0.75
    End With
  5. Linienstärke setzen: Um die Linienstärke zu ändern, nutze:

    .Format.Line.Weight = 3

Häufige Fehler und Lösungen

  • Problem: Die Formatierung der Marker beeinflusst auch die Linienformatierung.

    • Lösung: Stelle sicher, dass du die Formatierung für Marker und Linien in separaten With-Blöcken vornimmst.
  • Problem: Die Marker erscheinen nicht, obwohl du die MarkerStyle-Option gesetzt hast.

    • Lösung: Überprüfe, ob die MarkerStyle und MarkerSize korrekt eingestellt sind.

Alternative Methoden

Falls du die Formatierung manuell vornehmen möchtest, kannst du auch die Excel-Oberfläche nutzen, um die Marker und Linien zu formatieren. Gehe dazu in die Diagrammtools und passe die Marker- und Linienformatierung über die entsprechenden Optionen an.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die Formatierung per VBA anpassen kannst:

  1. Markerfarbe ändern:

    With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(5)
       .MarkerForegroundColorIndex = 3 ' Ändert die Markerfarbe
    End With
  2. Linienfarbe anpassen:

    With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(5).Format.Line
       .ForeColor.RGB = RGB(255, 0, 0) ' Setzt die Linienfarbe auf Rot
    End With

Tipps für Profis

  • Verwende Variablen: Um die Lesbarkeit deines Codes zu verbessern, speichere häufig verwendete Objekte in Variablen. Zum Beispiel:

    Dim serReihe As Series
    Set serReihe = ActiveSheet.ChartObjects(1).Chart.SeriesCollection(5)
  • Experimentiere mit verschiedenen MarkerStyles: Es gibt verschiedene MarkerStyle-Optionen, die du ausprobieren kannst. Teste verschiedene Werte, um den besten Look für dein Diagramm zu finden.


FAQ: Häufige Fragen

1. Wie kann ich den Diagrammtyp in VBA ändern?
Du kannst den Diagrammtyp mit der Eigenschaft ChartType ändern, zum Beispiel:

ActiveSheet.ChartObjects(1).Chart.SeriesCollection(5).ChartType = xlXYScatter

2. Welche MarkerStyles stehen zur Verfügung?
Es gibt verschiedene MarkerStyles, die du verwenden kannst. Eine Liste der verfügbaren MarkerStyles findest du in der Excel VBA-Dokumentation oder durch das Durchsuchen von Online-Ressourcen.

3. Wie kann ich die Linien- und Markerformatierung getrennt anpassen?
Achte darauf, die Formatierung in separaten With-Blöcken vorzunehmen, um sicherzustellen, dass Änderungen an einem nicht das andere beeinflussen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige