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

Diagramm Linien / Raster per VBA ändern

Forumthread: Diagramm Linien / Raster per VBA ändern

Diagramm Linien / Raster per VBA ändern
17.02.2009 20:03:00
StefanK
Hallo ExcelFreunde
auf Basis des von Beverly beantworteten Threads
https://www.herber.de/forum/messages/1051268.html
möchte ich noch eine Kleinigkeit via VBA ändern
Es sollen die Hilfslinien der x-Achse mit hellgrauen dünnen Linien markiert werden.
Ich habe jetzt per Makro-Recorder das Ergebnis eingebaut - es läuft auch :)
Aber : kann man den VBA-Code noch "vereinfachen" / kürzen ?
besten Gruß Stefan
hier der Code

Sub DatenreihenFaerben()
Dim chDiagramm As Chart
Dim inReihe As Integer
Set chDiagramm = ActiveSheet.ChartObjects(1).Chart
With chDiagramm
For inReihe = 1 To .SeriesCollection.Count
.SeriesCollection(inReihe).Border.ColorIndex = Cells(26, inReihe + 4).Interior. _
ColorIndex
.SeriesCollection(inReihe).Border.Weight = xlThick
Next inReihe
End With
Set chDiagramm = Nothing
'NEU   Skalierungslinien der X-Achse formatieren  (dünne Linie hellgrau)
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.SeriesCollection(1).Select
With Selection.Border
.ColorIndex = 15
.Weight = xlThin
.LineStyle = xlContinuous
End With
With Selection
.MarkerBackgroundColorIndex = xlNone
.MarkerForegroundColorIndex = xlNone
.MarkerStyle = xlNone
.Smooth = False
.MarkerSize = 5
.Shadow = False
End With
End Sub


Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Diagramm Linien / Raster per VBA ändern
17.02.2009 20:23:00
Beverly
Hi Stefan,
weshalb bist du nicht im alten Thread geblieben? So habe ich deinen Beitrag nur durch Zufall bemerkt, bzw. es hat mich erst jemand darauf aufmerksam gemacht.
Dein Code ändert nicht die Farbe der Hauptsriche der X-Achse in hellgrau sondern die Datenreihe 1, die du zuvor mit meinem Code in die Farbe der betreffenden Zelle geändert hast.


Anzeige
AW: Diagramm Linien / Raster per VBA ändern
17.02.2009 20:33:00
StefanK
Hallo Beverly
sorry für den neuen Thread. Ich war davon ausgegangen, daß die Frage im alten Thread schon gelöst war und - weil schon weiter "unten" - eine Nachfrage untertaucht ;O
OK, ich werde das das nächste mal besser machen - und die Frage als noch offen markieren.
Zu meiner Frage:
Ich möchte die Rasterlinien per VBA (egal ob welche für die x oder y-Achse existieren)
in dünnen hellgrauen Linien markieren.
Ich muss mich wohl doch noch intensiver in VBA "einarbeiten". Der Makrorecoder hilft da schon ein wenig,
aber ....
Ist das per VBA möglich ?
Gruß
Stefan
Anzeige
AW: Diagramm Linien / Raster per VBA ändern
17.02.2009 21:08:00
StefanK
Hallo Beverly
ich glaube, ich muss mich jetzt mal "revidieren" - wenn ich mir mein Diagramm "genauer" anschaue
Die vermeidlichen Hauptstriche der x-Achse sind gar keine Hauptstriche
sondern die von Excel "gemalten" senkrechten Linien im Diagramm
Wenn es OK ist, würd ich Dir gern mal meine Datei zusenden, dann wird das was ich meine vielleicht deutlicher.
Besten Gruß
Stefan
sk1412(at)gmx dot de
Anzeige
AW: Diagramm Linien / Raster per VBA ändern
17.02.2009 21:51:00
Beverly
Hi Stefan,
"senkrechte Striche" der X-Achse sind die Gitternetzlinien der X-Achse. Ausgehend von der Beispiel-Arbeitsmappe, die du bereits hochgeladen hattest, hier mal der komplette Code einschließlich Änderung der Gitternetzlinien der X-Achse

Sub DatenreihenFaerben()
Dim chDiagramm As Chart
Dim inReihe As Integer
Set chDiagramm = ActiveSheet.ChartObjects(1).Chart
With chDiagramm
For inReihe = 1 To .SeriesCollection.Count
.SeriesCollection(inReihe).Border.ColorIndex = Cells(3, inReihe + 3).Interior. _
ColorIndex
.SeriesCollection(inReihe).Border.Weight = xlThick
Next inReihe
.Axes(xlCategory).MajorGridlines.Border.ColorIndex = 15
End With
Set chDiagramm = Nothing
End Sub


Dass du die Farbe der Datenreihen in Abhängikeit von der Zellfarbe verändern willst, kann ich ja noch verstehen - weshalb aber die Gitternetzlinien auch per VBA? Wenn du das Diagramm 1 mal von Hand nach deinen Wünschen formatierst, ändert sich doch nichts mehr daran - außer eben der Farbe der Datenreihen, falls du die Zellfarbe geändert hast.



Anzeige
AW: Diagramm Linien / Raster per VBA ändern
17.02.2009 22:14:00
StefanK
Hallo Karin
ich hab dir mal an die auf Deiner Homepage angegebenen email-Adresse
die Datei hochgeladen
Daraus ist (hoffentlich) zu erkennen, an was ich arbeite
Besten Gruß und Dank für Deine Hilfe
Stefan
Die Diagrammart ist eine für mich wichtige Art der Darstellung von aufgeteilten Umsätzen von Firmen
und ich möchte sie "optisch" aufarbeiten
Bislang habe ich dafür KEINE Lösung im Internet gefunden :O
Anzeige
AW: Diagramm Linien / Raster per VBA ändern
19.02.2009 22:26:00
Beverly
Hi Stefan,
das nächste Mal bitte die Mappe nicht unaufgefordert per Mail schicken sondern sie einfach hier im Forum hochladen.
Die Linien, die du als "senkrechte Striche der X-Achse" bezeichnest, ist einfach nur deine Datenreihe 1. Formatiere sie von Hand hellgrau und ändere den Code so, dass sie beim Durchlaufen nicht mit angesprochen wird - beginne die Schleife über alle Datenreihen also nicht mit 1 sondern mit 2:

With chDiagramm
For inReihe = 2 To .SeriesCollection.Count
.SeriesCollection(inReihe).Border.ColorIndex = Cells(26, inReihe + 4).Interior. _
ColorIndex
.SeriesCollection(inReihe).Border.Weight = xlThick
Next inReihe
End With




Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Diagramm Linien und Raster in Excel per VBA anpassen


Schritt-für-Schritt-Anleitung

Um die Gitternetzlinien eines Diagramms in Excel per VBA zu ändern, kannst du den folgenden Schritt-für-Schritt-Ansatz verwenden:

  1. Öffne deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Erstelle ein neues Modul:

    • Klicke mit der rechten Maustaste auf "VBAProject (deinDateiname)".
    • Wähle Einfügen > Modul.
  3. Kopiere und füge den folgenden Code ein:

    Sub DatenreihenFaerben()
       Dim chDiagramm As Chart
       Dim inReihe As Integer
       Set chDiagramm = ActiveSheet.ChartObjects(1).Chart
       With chDiagramm
           ' Gitternetzlinien der X-Achse anpassen
           .Axes(xlCategory).MajorGridlines.Border.ColorIndex = 15 ' Hellgrau
           .Axes(xlCategory).MajorGridlines.Border.Weight = xlThin ' Dünne Linien
           ' Hier kannst du weitere Anpassungen für andere Achsen vornehmen
       End With
       Set chDiagramm = Nothing
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus: Gehe zu Entwicklertools > Makros, wähle DatenreihenFaerben und klicke auf Ausführen.

Nun sollten die Gitternetzlinien des Diagramms in hellgrau dargestellt werden.


Häufige Fehler und Lösungen

  • Fehler: "Dieser Datensatz ist zu groß für das Excel Raster."

    • Lösung: Überprüfe die Anzahl der Datenpunkte im Diagramm. Möglicherweise musst du die Daten reduzieren oder die Darstellung anpassen.
  • Fehler: Die Gitternetzlinien ändern sich nicht.

    • Lösung: Stelle sicher, dass du die Achsen korrekt referenzierst. Überprüfe den Code auf Schreibfehler.

Alternative Methoden

  1. Manuelle Anpassung:

    • Klicke auf die Gitternetzlinien im Diagramm.
    • Rechtsklicke und wähle Format Gitternetzlinien.
    • Ändere die Farbe und den Linienstil direkt in den Formatierungsoptionen.
  2. Excel-Funktionen:

    • Nutze die Funktion Diagramm erstellen in Excel, um das Diagramm vorab zu gestalten, bevor du VBA verwendest.

Praktische Beispiele

  • Beispiel 1: Ändere den Abstand der Gitternetzlinien.

    • Verwende die Funktion Diagramm gitternetzlinien abstand ändern in den Diagrammoptionen, um den Abstand manuell anzupassen.
  • Beispiel 2: Setze unterschiedliche Farben für die Y-Achsen-Gitternetzlinien.

    • Passe den VBA-Code an, um die Eigenschaften der Y-Achse ähnlich wie in der X-Achse zu ändern.

Tipps für Profis

  • Experimentiere mit verschiedenen ColorIndex-Werten, um die besten Farben für deine Grafiken zu finden.
  • Du kannst auch den Weight-Parameter anpassen, um die Linien dicker oder dünner zu machen, basierend auf deinen ästhetischen Vorlieben.
  • Wenn dein Diagramm komplex ist, teile es in mehrere Diagramme auf, um die Lesbarkeit zu erhöhen.

FAQ: Häufige Fragen

1. Wie kann ich das Gitternetzlinien-Format für mehrere Diagramme gleichzeitig ändern? Verwende eine Schleife im VBA-Code, um durch alle Diagramme auf dem Arbeitsblatt zu iterieren und die Formatierungen anzuwenden.

2. Was ist der Unterschied zwischen Haupt- und Hilfsgitternetzlinien? Hauptgitternetzlinien sind die Linien, die die Hauptmarkierungen auf den Achsen darstellen, während Hilfsgitternetzlinien die Zwischenwerte anzeigen. Beide können separat formatiert werden.

3. Kann ich die Gitternetzlinien auch für Diagramme in anderen Excel-Versionen anpassen? Ja, der VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, jedoch können sich die Optionen je nach Version leicht unterscheiden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige