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

Forumthread: Diagramm Daten - per VBA Quelle wählen

Diagramm Daten - per VBA Quelle wählen
06.07.2008 23:55:00
Jonathan
Hey,
ich möchte per VBA die Quelle eines Diagramms festlegen und dabei die zu wählenden Spalten abhängig von Ihrem Wert (gefüllte oder leere Zelle) wählen.
Hier mein Test, der leider nicht funktioniert:
intWerte = 0
For i = 7 To 31
If Sheets("Cache").Cells(26, i).Value "" Then
intWerte = intWerte + 1
End If
Next
With Sheets("Cache")
.ChartObjects("Diagramm 2").SetSourceData Source:=Range(".Range(.Cells(26, 7):.Cells(26, intWerte + 7)), .Range(.Cells(71, 7):.Cells(71, intWerte + 7))")
End With
Was ist daran falsch?
Danke für Eure Hilfe!

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramm Daten - per VBA Quelle wählen
07.07.2008 07:52:30
Beverly
Hi Jonathan,
der Datenbereich soll sich aus Spalte Z (26) und Spalte BS (71) zusammensetzen? Dann so:

Sub diagramm_datenbereich()
Dim chDiagramm As Chart
With Worksheets("Cache")
Set chDiagramm = .ChartObjects("Diagramm 2").Chart
chDiagramm.SetSourceData Source:=.Range("Z7:Z" & .Cells(31, 26).End(xlUp).Row & ",BS7: _
BS" & .Cells(31, 26).End(xlUp).Row)
End With
End Sub




Anzeige
AW: Diagramm Daten - per VBA Quelle wählen
07.07.2008 20:50:00
Jonathan
Hey,
vielen Dank! Allerdings habe stehen nicht die Spalten, sondern die Zeilen feste.
Cells(26, i)
Zeile, Spalte
Wie kann ich hier die Spalte individuell anpassen? Es muss die sein, welche vorher mit der Schleife herausgefunden wurde.
Danke noch mal!

AW: Diagramm Daten - per VBA Quelle wählen
08.07.2008 10:58:00
Beverly
Hi Jonathan,
die Schleife brauchst du nicht

Sub diagramm_datenbereich()
Dim chDiagramm As Chart
With Worksheets("Cache")
Set chDiagramm = .ChartObjects("Diagramm 1").Chart
chDiagramm.SetSourceData Source:=Range(.Range(.Cells(26, 7), .Cells(26, .Cells(26, 7). _
End(xlToRight).Column)).Address & "," & .Range(.Cells(71, 7), .Cells(71, .Cells(71, 7).End(xlToRight).Column)).Address)
End With
Set chDiagramm = Nothing
End Sub




Anzeige
AW: Diagramm Daten - per VBA Quelle wählen
08.07.2008 10:59:32
Beverly
Hi Jonathan,
die Schleife brauchst du nicht

Sub diagramm_datenbereich()
Dim chDiagramm As Chart
With Worksheets("Cache")
Set chDiagramm = .ChartObjects("Diagramm 1").Chart
chDiagramm.SetSourceData Source:=Range(.Range(.Cells(26, 7), .Cells(26, .Cells(26, 7). _
End(xlToRight).Column)).Address & "," & .Range(.Cells(71, 7), .Cells(71, .Cells(71, 7).End(xlToRight).Column)).Address)
End With
Set chDiagramm = Nothing
End Sub




Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Diagramm Daten per VBA Quelle wählen


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei, in der Du das Diagramm hast.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Füge ein neues Modul hinzu:
    • Rechtsklick auf "VBAProject (deinWorkbookName)" > Einfügen > Modul.
  4. Kopiere den folgenden VBA-Code in das Modul:

    Sub diagramm_datenbereich()
       Dim chDiagramm As Chart
       With Worksheets("Cache")
           Set chDiagramm = .ChartObjects("Diagramm 1").Chart
           chDiagramm.SetSourceData Source:=Range(.Range(.Cells(26, 7), .Cells(26, .Cells(26, 7).End(xlToRight).Column)).Address & _
           "," & .Range(.Cells(71, 7), .Cells(71, .Cells(71, 7).End(xlToRight).Column)).Address)
       End With
       Set chDiagramm = Nothing
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.
  6. Führe das Makro aus:
    • Drücke ALT + F8, wähle diagramm_datenbereich und klicke auf „Ausführen“.

Dieser Code hilft Dir, die Daten für ein Excel-Diagramm auszuwählen, indem er die Quellen dynamisch festlegt.


Häufige Fehler und Lösungen

  • Fehler: "Diagramm nicht gefunden"
    Lösung: Stelle sicher, dass der Diagrammname ("Diagramm 1" in diesem Fall) korrekt ist. Überprüfe, ob das Diagramm tatsächlich auf dem Arbeitsblatt "Cache" vorhanden ist.

  • Fehler: "Bereich ungültig"
    Lösung: Achte darauf, dass die angegebenen Zellen tatsächlich Daten enthalten. Leere Zellen können diesen Fehler verursachen.


Alternative Methoden

Wenn Du nicht mit VBA arbeiten möchtest, kannst Du die Datenquelle auch manuell ändern:

  1. Klicke mit der rechten Maustaste auf das Diagramm und wähle „Daten auswählen“.
  2. Wähle die gewünschten Datenbereiche für die X- und Y-Achse aus.

Diese Methode ist einfach, erfordert jedoch manuelle Anpassungen bei Änderungen der Daten.


Praktische Beispiele

  • Beispiel 1: Dynamische Datenquelle für Verkaufszahlen Angenommen, Du hast Verkaufszahlen in den Zeilen 26 und 71. Der VBA-Code oben kann leicht angepasst werden, um andere Spalten oder Zeilen zu wählen.

  • Beispiel 2: Diagramm mit mehreren Datenserien Der angepasste Code kann auch für mehrere Datenserien verwendet werden, indem Du zusätzliche Datenbereiche in der SetSourceData-Methode hinzufügst.


Tipps für Profis

  • Verwende Option Explicit: Füge am Anfang Deines Moduls Option Explicit hinzu, um sicherzustellen, dass alle Variablen deklariert werden. Das hilft, Fehler frühzeitig zu erkennen.

  • Fehlerbehandlung implementieren: Nutze On Error Resume Next, um Fehler abzufangen und zu protokollieren. So bleibt dein Makro stabil, auch wenn etwas schiefgeht.


FAQ: Häufige Fragen

1. Wie kann ich die Datenquelle für mehrere Diagramme gleichzeitig ändern?
Du kannst die Schleife so anpassen, dass sie über verschiedene Diagrammobjekte iteriert und die SetSourceData-Methode für jedes Diagramm aufruft.

2. Funktioniert dieses Makro in allen Excel-Versionen?
Ja, der Code sollte in den meisten Excel-Versionen ab 2007 funktionieren, solange die grundlegenden VBA-Funktionen unterstützt werden.

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