Wie kann man in Excel VBA einen Diagramm-Datenbereich variabel aus zwei nicht zusammenhängenden Bereichen (Blöcken) definieren?

Antwort

Um in Excel mit VBA ein Diagramm zu erstellen, dessen Datenbereich aus zwei nicht zusammenhängenden Blöcken besteht und dabei variabel ist, kannst du die Bereiche als Union zusammenfassen und dann als Datenquelle für das Diagramm verwenden. Hier ein Beispiel, wie das geht: Angenommen, du hast zwei Bereiche, z.B. - Block 1: `A1:A10` - Block 2: `C1:C10` und möchtest diese als Datenquelle für ein Diagramm nutzen. **Vorgehen in VBA:** ```vba Sub DiagrammMitZweiBloecken() Dim ws As Worksheet Dim rng1 As Range, rng2 As Range, rngUnion As Range Dim cht As ChartObject Set ws = ThisWorkbook.Sheets("Tabelle1") ' Passe den Namen ggf. an Set rng1 = ws.Range("A1:A10") ' Erster Block (variabel gestalten) Set rng2 = ws.Range("C1:C10") ' Zweiter Block (variabel gestalten) Set rngUnion = Union(rng1, rng2) ' Vereinigung der Bereiche ' Diagramm erstellen Set cht = ws.ChartObjects.Add(Left:=100, Top:=100, Width:=400, Height:=300) cht.Chart.ChartType = xlColumnClustered ' Datenquelle setzen cht.Chart.SetSourceData Source:=rngUnion End Sub ``` **Hinweise:** - Die Bereiche `rng1` und `rng2` kannst du beliebig variabel gestalten, z.B. mit `ws.Range("A1:A" & letzteZeile)`. - Die Funktion `Union` verbindet die beiden Bereiche zu einem nicht zusammenhängenden Bereich. - Das Diagramm kann so Daten aus beiden Blöcken darstellen. **Wichtig:** Excel-Diagramme können nicht immer beliebige, nicht zusammenhängende Bereiche als Datenquelle akzeptieren. In manchen Fällen (z.B. bei Linien- oder Punktdiagrammen) kann es zu Problemen kommen. Dann empfiehlt es sich, die Daten in einen zusammenhängenden Bereich zu kopieren und diesen als Datenquelle zu verwenden. **Weitere Infos:** - [Microsoft VBA Union-Methode](https://learn.microsoft.com/de-de/office/vba/api/excel.application.union) - [Diagramme mit VBA steuern (Microsoft)](https://learn.microsoft.com/de-de/office/vba/api/excel.chart) Falls du spezielle Diagrammtypen oder dynamische Bereiche (z.B. mit variabler Zeilenzahl) brauchst, kann die Lösung entsprechend angepasst werden.

Kategorie: Software Tags: Excel VBA Diagramm
Frage stellen und sofort Antwort erhalten

Verwandte Fragen

Muss in Excel VBA ein Diagramm aktiviert sein, um dessen Achsen zu formatieren?

Nein, in Excel VBA muss ein Diagramm nicht zwingend aktiviert sein, um dessen Achsen zu formatieren. Du kannst auf Diagramme und deren Achsen auch direkt über das Objektmodell zugreifen, ohne das... [mehr]

Wie kann man in Excel per VBA den Bereichsverweis eines Diagramms im Namensmanager vergrößern?

Um in Excel mit VBA den Bereich eines Bereichsverweises (z. B. eines definierten Namens im Namensmanager), der als Datenquelle für ein Diagramm dient, zu vergrößern, kannst du den Bere... [mehr]

Excel VBA Diagramm: Wie erkennt man, dass Datenzeilen und Datenspalten vertauscht sind?

In Excel-Diagrammen kann man erkennen, ob Datenzeilen und Datenspalten vertauscht sind, indem man prüft, wie die Datenreihen im Diagramm dargestellt werden. Standardmäßig interpretiert... [mehr]

Excel VBA: Warum werden in Diagrammen Datenreihen bzw. Datenzeilen und Datenspalten vertauscht und wie kann man diese per VBA tauschen?

In Excel-Diagrammen werden Datenreihen standardmäßig entweder zeilenweise oder spaltenweise interpretiert – das heißt, Excel entscheidet anhand der markierten Daten, ob jede Zei... [mehr]

Wie ermittelt man in Excel VBA die Anzahl der Datenreihen eines Diagramms, dessen Daten aus zwei Tabellenbereichen stammen?

Um in Excel per VBA die Anzahl der Datenreihen (Series) eines Diagramms zu ermitteln, auch wenn die Daten aus zwei verschiedenen Tabellenbereichen stammen, kannst du wie folgt vorgehen: Jedes Diagram... [mehr]

Warum verwendet Excel VBA bei der automatischen Diagrammerstellung eine veraltete Datenquelle?

Das beschriebene Verhalten kann verschiedene Ursachen haben. In Excel (und besonders bei der Verwendung von VBA) kann es vorkommen, dass Diagramme auf veraltete Datenquellen zugreifen, wenn: 1. **Dia... [mehr]

Welche Typen von Sheets gibt es in Excel VBA?

In Excel (VBA) gibt es grundsätzlich drei Typen von Sheets (Arbeitsblättern): 1. **Worksheet** Das klassische Arbeitsblatt, auf dem Daten, Formeln und Diagramme platziert werden.... [mehr]

Wie kann man in Excel VBA ein separates Diagrammblatt ansprechen?

Um in Excel VBA ein separates Diagrammblatt (Chart Sheet) anzusprechen, kannst du auf die Sammlung der Diagrammblätter mit **Charts** zugreifen. Ein Diagrammblatt ist ein eigenes Arbeitsblatt, da... [mehr]

Gilt ein separates Diagrammblatt in Excel VBA als Worksheet?

Wenn in Excel ein Diagramm als separates Tabellenblatt erstellt wird, handelt es sich **nicht** um ein Worksheet (Arbeitsblatt), sondern um ein sogenanntes **ChartSheet** (Diagrammblatt). In VBA kann... [mehr]

Warum erscheint in Excel VBA beim Vergrößern eines Bereichsverweises im Namensmanager beim Schließen der Datei die Meldung 'Zuweisung an schreibgeschützte Eigenschaft nicht möglich'?

Das Problem tritt auf, weil Excel-Bereichsnamen, die im Namensmanager definiert sind, oft auf feste Zellbereiche verweisen (z. B. `=Tabelle1!$A$1:$A$10`). Wenn du per VBA versuchst, beim Schließ... [mehr]