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
KI fragen

Verwandte Fragen

Wie kann man mehrere Sheets in Excel mit VBA gleichzeitig sichtbar machen?

In VBA (Visual Basic for Applications) kannst du mehrere Arbeitsblätter nicht direkt in einer Zeile wie in deinem Beispiel sichtbar machen. Der Ausdruck `Sheets("TP1", "TP2").... [mehr]

Wirken sich Application.OnKey und Application.CommandBars auf andere geöffnete Excel-Dateien aus?

Ja, sowohl `Application.OnKey` als auch `Application.CommandBars` wirken sich auf die gesamte Excel-Anwendung aus – und damit auf **alle geöffneten Arbeitsmappen** (Excel-Dateien) in dieser... [mehr]

Wie zeige ich per VBA in Excel eine Messagebox an, wenn ein bestimmter Wert überschritten oder erreicht wird?

Um in Excel mit VBA eine MessageBox anzuzeigen, wenn ein bestimmter Wert überschritten oder gleich ist, kannst du beispielsweise folgenden Code verwenden. Angenommen, du möchtest prüfen... [mehr]

Wie zeige ich in Excel per VBA eine Messagebox an, wenn eine Zelle einen bestimmten Wert unterschreitet?

Um in Excel per VBA eine MessageBox erscheinen zu lassen, wenn eine Zelle einen bestimmten Wert unterschreitet, kannst du das Worksheet-Change-Ereignis verwenden. Hier ein Beispiel, wie du das umsetze... [mehr]

Wie kann ich in Excel-VBA den Inhalt einer bestimmten Tabelle komplett löschen?

Um in Excel-VBA den Inhalt einer bestimmten Tabelle (z.B. "Tabelle1") komplett zu löschen, kannst du folgenden Code verwenden: ```vba Worksheets("Tabelle1").Cells.ClearConten... [mehr]

Wie vergrößere ich den Text in der Bearbeitungsleiste einer Excel-Tabelle?

Um den Text in der Bearbeitungsleiste (Formelleiste) in Microsoft Excel zu vergrößern, gibt es folgende Möglichkeiten: **1. Zoom-Funktion der Bearbeitungsleiste (ab Excel 365/2019):**... [mehr]

Gibt es eine kostenlose Alternative zu Excel für Android?

Ja, es gibt mehrere kostenlose Alternativen zu Excel für Android. Zu den bekanntesten zählen: 1. **Google Tabellen (Google Sheets)** Kostenlos nutzbar, benötigt ein Google-Konto.... [mehr]

Wie kann ich eine Zahl in Excel bei einer Verknüpfung direkt aufrunden?

Um in Excel eine Zahl bei einer Verknüpfung direkt aufzurunden, kannst du die Funktion `AUFRUNDEN` verwenden. Das funktioniert so: **Syntax:** `=AUFRUNDEN(Zahl; Anzahl_Stellen)` **Beispiel mi... [mehr]

Gibt es in Excel 2021 eine Vorlage für ein Gantt-Diagramm?

In Excel 2021 gibt es keine spezielle, direkt auswählbare Vorlage für ein Gantt-Diagramm wie bei einigen anderen Projektmanagement-Tools. Allerdings bietet Excel verschiedene Vorlagen fü... [mehr]

Sollte man für die Platzierung der Balken in einem Gantt-Diagramm mit Excel-Makro cm in pt im Arbeitsblatt oder im Makro umrechnen?

Es ist grundsätzlich empfehlenswert, die Umrechnung von Zentimetern (cm) in Punkt (pt) direkt im Makro vorzunehmen, nicht im Arbeitsblatt. Dafür sprechen folgende Gründe: 1. **Flexibil... [mehr]