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

Forumthread: Diagramm Source ändern per VBA

Diagramm Source ändern per VBA
11.07.2019 07:09:16
björn
hallo
also in meiner Übungsdatei klappt es mit
ActiveChart.SetSourceData Source:=Range("Tabelle1!" & bella & ":$A$13")
nun wollte ich diese Zeile auf die Richtige Datei übertrage und da Meckert er
den Unterschieden zur Übungsdatei sind 2 Diagramme pro Arbeitsblatt und 34 Arbeitsblätter
in der Übungsdatei nur ein Diagramm und ein Arbeitsblatt
achja die Definition von bella
Dim bella As String
bella = Cells(1, 4).Text
ich habe auch schon den Tipp erhalten von
ActiveSheet.ChartObjects("Diagramm 1").Chart.SetSourceData Source:=Worksheets("adidas 2").Range(bella & ":A21")
Was im Prinzip geht, aber den Diagramm Typ ändert, und das will ich eben nicht
Alternativ Vorschläge?
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramm Source ändern per VBA
11.07.2019 08:40:36
Martin
Hallo Björn,
lade mal die Beispieldatei hoch, damit wir selbst etwas Herumtesten können. Das Verhalten von Diagrammen ist manchmal etwas unvorhersehbar ;-)
Viele Grüße
Martin
Wenn in D4 eine Zelladresse...
12.07.2019 11:10:44
Beverly
Hi,
...der Spalte B steht (also aus deinen Y-Werten und nicht den X-Werten), dann musst du im Code den Bereich auch austauschen:
ActiveSheet.ChartObjects("Diagramm 1").Chart.SetSourceData Source:=Worksheets("adidas 2").Range( _
A21: & ":" & bella)
Die Antwort hättest du auch bereits in dem anderen Forum erhalten können - du hast jedoch nicht dein eigentliches Problem erklärt sondern einfach nur geantwortet dass du den falschen Diagrammtyp verwendet hättest und damit dein Problem geklärt sei...


Anzeige
AW: Wenn in D4 eine Zelladresse...
12.07.2019 16:32:44
björn
höfflich ignoriere ich dein Post, meist du nicht das ich das längst weiß? ich habe es anders versucht, dann funktioniert es nicht mehr, ich habe auch das Problem auch öffentlich zur Diskussion gestellt und bekam keine Antwort darauf
begreif es endlich deine Lösungsansätze nicht funktionieren , und haben mir in meinem Datei jedes Zweite Diagramm versaut, das ich sie wahrscheinlich löschen muss, Gott Nervbolzen
Anzeige
Ich bin mir sicher, dass DU...
12.07.2019 17:04:04
Beverly
...der Nervbolzen bist.
Zu meiner in dem anderen Forum vorgeschlagenen Lösung (die du hier in deinem Eröffnungsbeitrag gepostet hast) zitiere ich mal einfach deine dortigen Antworten, damit sich jeder hier ein eigenes Urteil bilden kann:
"das war es
danke"
"ahhaaaaaargh
es funktioniert nicht, er macht aus den y Skala eine Zeit Skala (also nun x und y)
aber was soll so wichtig ist es nicht mehr, dann mache ich ein 3tes Diagramm, und behandelt es wie das 30 Tage Diagramm nur das diese über ein halbes Jahr geht"
"oh falscher Diagram, Typ mein Fehler wie dumm"
Da dort übrigens keine Beispieldatei hochgeladen wurde, obwohl ich dir den Hinweis dazu gegeben hatte, um den Code testen zu können, ist es deine eigene Schuld, wenn DU DIR die Diagramme versaust.
Übrigens: mit deiner Ausdrucksweise in deinem letzten Beitrag hier machst du dir gewiss keine Freunde unter den Helfern. Ich wünsche dir dennoch viel Spaß bei der Anwendung meiner Lösung, da sie genau das ist was du in deiner hochgeladenen Mappe "Beispiel Datei" erreichen willst.


Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Diagramm Source ändern mit VBA


Schritt-für-Schritt-Anleitung

Um den Datenbereich eines Diagramms in Excel mit VBA zu ändern, kannst Du folgende Schritte befolgen:

  1. Öffne die Excel-Datei, in der Du das Diagramm aktualisieren möchtest.

  2. Wechsle zum VBA-Editor (drücke ALT + F11).

  3. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.

  4. Gib den folgenden Code ein, um den Datenbereich des Diagramms zu ändern:

    Sub DiagrammDatenbereichAendern()
        Dim bella As String
        bella = Cells(1, 4).Text ' Hier wird die Zelladresse definiert
        ActiveSheet.ChartObjects("Diagramm 1").Chart.SetSourceData Source:=Worksheets("adidas 2").Range(bella & ":A21")
    End Sub
  5. Speichere die Datei und führe das Makro aus, um den Datenbereich des Diagramms zu ändern.


Häufige Fehler und Lösungen

  • Fehler: "Diagrammtyp ändert sich"
    Wenn sich der Diagrammtyp ändert, stelle sicher, dass Du den richtigen Diagrammtyp in der Excel-Oberfläche ausgewählt hast, bevor Du den VBA-Code ausführst. Das kann passieren, wenn die Datenquelle nicht korrekt definiert ist.

  • Fehler: "Diagramm nicht gefunden"
    Überprüfe, ob der Name des Diagramms korrekt ist. Achte darauf, dass "Diagramm 1" im Code mit dem tatsächlichen Namen des Diagramms übereinstimmt.

  • Fehler: "Bereich nicht gefunden"
    Stelle sicher, dass die Zellreferenzen, die Du im Code verwendest, existieren und korrekt sind. Eine falsche Referenz kann den Code zum Absturz bringen.


Alternative Methoden

Wenn Du keine VBA-Lösungen verwenden möchtest, kannst Du auch die folgenden Alternativen in Betracht ziehen:

  • Manuelle Anpassung: Klicke mit der rechten Maustaste auf das Diagramm, wähle "Daten auswählen" und passe die Datenquelle manuell an.

  • Verwendung von Excel-Formeln: Du kannst dynamische Bereiche mit Hilfe von Excel-Formeln (wie OFFSET oder INDEX) definieren und diese Bereiche dann im Diagramm verwenden.


Praktische Beispiele

Ein Beispiel zur Verwendung von SetSourceData in einem VBA-Skript:

Sub BeispielSetSourceData()
    Dim bella As String
    bella = "B1" ' Beispiel-Zelladresse
    ActiveChart.SetSourceData Source:=Range("Tabelle1!" & bella & ":A10")
End Sub

In diesem Beispiel wird der Datenbereich des aktiven Diagramms auf die Zellen B1 bis A10 gesetzt.


Tipps für Profis

  • Verwende With-Anweisungen: Um den Code übersichtlicher zu gestalten, kannst Du With-Anweisungen verwenden, um mehrere Eigenschaften des Diagramms in einer Zeile zu ändern.

    With ActiveChart
        .SetSourceData Source:=Range("Tabelle1!" & bella & ":A10")
        .ChartType = xlColumnClustered ' Beispiel für Diagrammtyp
    End With
  • Fehlerbehandlung einfügen: Nutze On Error Resume Next, um sicherzustellen, dass der Code nicht bei einem Fehler abbricht.


FAQ: Häufige Fragen

1. Wie kann ich den Diagrammtyp in VBA ändern?
Du kannst den Diagrammtyp mit .ChartType ändern. Beispiel: ActiveChart.ChartType = xlLine.

2. Was mache ich, wenn mein Diagramm leer bleibt?
Überprüfe die Zellreferenzen im Code und stelle sicher, dass die Daten in diesen Zellen vorhanden sind.

3. Kann ich mehrere Diagramme gleichzeitig aktualisieren?
Ja, Du kannst eine Schleife verwenden, um über alle Diagramme in einem Arbeitsblatt zu iterieren und die Datenquelle entsprechend zu ändern.

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