Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1940to1944
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
VBA Achsen aller Diagramme in allen Worksheets anpassen
07.08.2023 16:56:55
Steffen Anderson
Hallo, ich hoffe ihr könnt mir helfen :) Ich habe in meiner Excel mehrere Worksheets, in denen jeweils mehrere Diagramme enthalten sind. Weiterhin befinden sich in jedem Worksheet die Grenzen für den Anfangs- und Endwert der x-Achse. Nun möchte ich mit einem VB Makro diese Grenzen aus den jeweiligen Zellen in die Diagramme übertragen. Dabei sind die Grenzen in jedem Worksheet unterschiedlich. Habe schon bisschen probiert, komme jedoch nicht über das Ergebnis hinaus, dass sich mit einem Mal alle Worksheets anpassen, sondern immer nur das aktuelle.

Anbei mein aktueller Code:


Sub Anpassung()
Dim ws As Worksheet, cht As ChartObject

Set ws = ThisWorkbook.Worksheets("Air_24")
For Each cht In ws.ChartObjects
With cht.Chart.Axes(xlCategory, xlPrimary)
.MaximumScale = ActiveSheet.Range("AK18").Value 'Das ist die Zelle, in der das Maximum der x-Achse steht
.MinimumScale = ActiveSheet.Range("AK17").Value 'Das ist die Zelle, in der das Minimum der x-Achse steht
.MajorUnit = ActiveSheet.Range("AK19").Value 'Das ist die Zelle, in der das Hauptintervall der x-Achse steht
End With
Next cht

Set cht = Nothing
Set ws = Nothing
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Achsen aller Diagramme in allen Worksheets anpassen
07.08.2023 17:08:52
onur
    ......

For Each ws In ThisWorkbook.Worksheets
For Each cht In ws.ChartObjects
With cht.Chart.Axes(xlCategory, xlPrimary)
.MaximumScale = ws.Range("AK18").Value 'Das ist die Zelle, in der das Maximum der x-Achse steht
.MinimumScale = ws.Range("AK17").Value 'Das ist die Zelle, in der das Minimum der x-Achse steht
.MajorUnit = ws.Range("AK19").Value 'Das ist die Zelle, in der das Hauptintervall der x-Achse steht
End With
Next cht
Next ws
......
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Anzeige

Infobox zum Thema

EXCEL - VBA Achsen aller Diagramme in allen Worksheets anpassen


Inhaltsverzeichnis


Die Fragestellung


Du möchtest die Achsen aller Diagramme in allen Arbeitsblättern einer Excel-Arbeitsmappe mit VBA anpassen.


Erläuterung des Problems {#erläuterung-des-problems}


In einer Excel-Arbeitsmappe mit mehreren Arbeitsblättern und Diagrammen kann es mühsam sein, manuell die Achseneinstellungen jedes einzelnen Diagramms anzupassen. Ein VBA-Makro kann diesen Prozess automatisieren, indem es durch alle Arbeitsblätter und Diagramme iteriert und die gewünschten Änderungen an den Achsen vornimmt.


Lösung des Problems {#lösung-des-problems}


Das folgende VBA-Makro passt die Skalierung der primären vertikalen Achse aller Diagramme in allen Arbeitsblättern an:

Sub AdjustAxes()
    Dim ws As Worksheet
    Dim chrt As ChartObject
    Dim yAxis As Axis

    For Each ws In ThisWorkbook.Worksheets
        For Each chrt In ws.ChartObjects
            Set yAxis = chrt.Chart.Axes(xlValue, xlPrimary)
            With yAxis
                .MinimumScale = 0
                .MaximumScale = 100
                .MajorUnit = 10
                .MinorUnit = 5
                .Crosses = xlAxisCrossesAutomatic
                ' Weitere Achseneinstellungen hier
            End With
        Next chrt
    Next ws
End Sub

Um dieses Makro zu verwenden:

  1. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle Einfügen > Modul, um ein neues Modul zu erstellen.
  3. Kopiere den oben stehenden Code in das Modul.
  4. Passe die Achseneinstellungen im Code nach Bedarf an.
  5. Schließe den VBA-Editor und gehe zurück zu Excel.
  6. Führe das Makro aus, indem du ALT + F8 drückst, das Makro AdjustAxes auswählst und auf Ausführen klickst.

Anwendungsbeispiele aus der Praxis


  • Standardisierung von Berichten: Sicherstellen, dass alle Diagramme in einem Bericht dieselben Achsenskalierungen haben, um Konsistenz zu gewährleisten.
  • Datenpräsentation: Schnelle Anpassung aller Diagramme für eine Präsentation oder ein Meeting.

Tipps


  • Teste das Makro zunächst an einer Kopie deiner Arbeitsmappe, um unerwünschte Änderungen zu vermeiden.
  • Kommentiere den Code, um die Funktionen und Einstellungen zu dokumentieren, die du anpasst.

Verwandte Themenbereiche


  • VBA-Programmierung in Excel
  • Diagrammgestaltung und -automatisierung
  • Datenvisualisierungstechniken

Zusammenfassung


Mit VBA kannst du effizient die Achsen aller Diagramme in allen Arbeitsblättern einer Excel-Arbeitsmappe anpassen. Das obige Makro bietet ein Grundgerüst, das du an deine spezifischen Anforderungen anpassen kannst, um Zeit zu sparen und Fehler bei der manuellen Anpassung zu vermeiden.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige