Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Diagrammbereich per VBA anpassen

Forumthread: Diagrammbereich per VBA anpassen

Diagrammbereich per VBA anpassen
15.01.2016 12:43:28
Markus
Hallo zusammen!
Folgendes Problem:
Ich habe 40 Diagramme mit je 2 Datenreihen, alle nach folgendem Code benannt:
Private Sub rename()
K = 1
If ChartObjects.Count 
Nun möchte ich (evtl in dem oben genannten Code) die Bereiche der Datenreihen anpassen. Dazu verwende ich im Moment folgenden Code, der allerdings den Laufzeitfehler 1004 hervorruft.
Sub DiagRange()
spalte = 11
For K = 1 To 40
ChartObjects("diag_" & K).Activate
ActiveChart.SeriesCollection(1).XValues = Range(Cells(8, spalte), Cells(3008, spalte))
ActiveChart.SeriesCollection(1).Values = Range(Cells(8, spalte+1), Cells(3008, spalte+1))
spalte = spalte + 2
ActiveChart.SeriesCollection(2).XValues = Range(Cells(8, spalte), Cells(3008, spalte))
ActiveChart.SeriesCollection(2).Values = Range(Cells(8, spalte+1), Cells(3008, spalte+1))
spalte = spalte + 2
Next I
End Sub
Wenn ich die Zeile mit .Values auskommentiere funktioniert der Code, also denke ich mal, dass es daran liegt. Könnt ihr mir bitte helfen?

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
funktioniert der Code
15.01.2016 13:27:38
Rudi
Hallo,
nie und nimmer
For K= und dann Next I ?
Gruß
Rudi

AW: Diagrammbereich per VBA anpassen
15.01.2016 13:34:53
Beverly
Hi Markus,
also bei mir funktioniert dieser Code:
    spalte = 11
For K = 1 To 40
With ActiveSheet.ChartObjects("diag_" & K).Chart
.SeriesCollection(1).XValues = Range(Cells(8, spalte), Cells(3008, spalte))
.SeriesCollection(1).Values = Range(Cells(8, spalte + 1), Cells(3008, spalte + 1))
spalte = spalte + 2
.SeriesCollection(2).XValues = Range(Cells(8, spalte), Cells(3008, spalte))
.SeriesCollection(2).Values = Range(Cells(8, spalte + 1), Cells(3008, spalte + 1))
spalte = spalte + 2
End With
Next K


Anzeige
AW: Diagrammbereich per VBA anpassen
15.01.2016 13:52:11
Markus
hmm komisch, jetzt funktioniert es bei mir auch. Evtl lag's am Neustart...
Aber trotzdem Danke ^^
;
Anzeige
Anzeige

Infobox / Tutorial

Diagrammbereich per VBA anpassen


Schritt-für-Schritt-Anleitung

Um den Diagrammbereich in Excel per VBA anzupassen, kannst du den folgenden Code verwenden. Dieser Code geht durch die Diagramme und passt die Datenreihen an. Achte darauf, die Diagrammnamen entsprechend deiner Benennung anzupassen.

Sub DiagRange()
    Dim spalte As Integer
    spalte = 11
    For K = 1 To 40
        With ActiveSheet.ChartObjects("diag_" & K).Chart
            .SeriesCollection(1).XValues = Range(Cells(8, spalte), Cells(3008, spalte))
            .SeriesCollection(1).Values = Range(Cells(8, spalte + 1), Cells(3008, spalte + 1))
            spalte = spalte + 2
            .SeriesCollection(2).XValues = Range(Cells(8, spalte), Cells(3008, spalte))
            .SeriesCollection(2).Values = Range(Cells(8, spalte + 1), Cells(3008, spalte + 1))
            spalte = spalte + 2
        End With
    Next K
End Sub

Stelle sicher, dass du in einer Excel-Version arbeitest, die VBA unterstützt. Der Code sollte in der Regel in Excel 2010 und späteren Versionen problemlos funktionieren.


Häufige Fehler und Lösungen

Ein häufiger Fehler, auf den viele Nutzer stoßen, ist der Laufzeitfehler 1004. Dieser tritt häufig auf, wenn der angegebene Bereich nicht existiert oder wenn das Diagramm nicht gefunden werden kann. Hier sind einige Lösungen:

  1. Überprüfe die Diagrammnamen: Stelle sicher, dass die Diagrammnamen in deinem Excel-Dokument mit denen im Code übereinstimmen.
  2. Bereich existiert nicht: Vergewissere dich, dass der Bereich, auf den du zugreifen möchtest, tatsächlich Daten enthält.
  3. Schleifenvariable: Achte darauf, dass die Schleifenvariable korrekt deklariert ist. Der Code sollte Next K und nicht Next I verwenden.

Alternative Methoden

Wenn du keinen VBA-Code verwenden möchtest, gibt es auch alternative Methoden, um Diagramme in Excel anzupassen:

  • Manuelles Anpassen: Du kannst die Datenreihen manuell in den Diagrammeinstellungen ändern.
  • Diagrammvorlagen: Erstelle eine Diagrammvorlage mit den gewünschten Einstellungen und wende diese auf deine Diagramme an.

Praktische Beispiele

Hier ein einfaches Beispiel, um den Code in der Praxis zu demonstrieren:

Angenommen, du hast 40 Diagramme, die jeweils mit den Daten in den Spalten 11 bis 70 verbunden sind. Der oben angegebene Code wird alle Diagramme durchlaufen und die X- und Y-Werte entsprechend anpassen, sodass du schnell die gewünschten Daten visualisieren kannst.


Tipps für Profis

  • Debugging: Nutze die Debugging-Tools in VBA, um Probleme zu finden. Setze Haltepunkte und untersuche Variablenwerte während der Ausführung.
  • Optimierung: Wenn du viele Diagramme hast, kann es hilfreich sein, den Code zu optimieren, um die Ausführungsgeschwindigkeit zu erhöhen. Beispielsweise kannst du Application.ScreenUpdating = False am Anfang und Application.ScreenUpdating = True am Ende des Codes hinzufügen, um das Flackern des Bildschirms zu vermeiden.

FAQ: Häufige Fragen

1. Warum bekomme ich einen Laufzeitfehler 1004?
Der Laufzeitfehler 1004 tritt auf, weil der angegebene Bereich nicht existiert oder das Diagramm nicht gefunden werden kann. Überprüfe die Diagrammnamen und die verwendeten Zellreferenzen.

2. Kann ich den Code auch für andere Diagrammtypen verwenden?
Ja, der Code kann an verschiedene Diagrammtypen angepasst werden, solange die Struktur der Datenreihen gleich bleibt. Achte darauf, die spezifischen Eigenschaften der Diagramme zu berücksichtigen.

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