Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Diagramm automatisch aktualisieren

Diagramm automatisch aktualisieren
Tobias
Hallo zusammen,
mit meinen bescheidenen VBA Kenntnissen bin ich nicht in der Lage ein Problem zu lösen. Das Problem gestaltet sich wie folgt:
Wöchentlich importiere ich Daten in ein Excel-Sheet. Über eine Selektionsmaske werden bestimmte Datensätze herausgefiltert und in ein anderes Arbeitsblatt übernommen. Dieses Arbeitsblatt stellt wiederum die Grundlage unterschiedlichster Auswertung da, welche über Pivottabellen erstellt werden. Einige dieser Auswertungen sollen Grafik aufbereitet werden. Da die Anzahl der Datensätze variiert (bspw. werden mal 3 Woche, mal aber auch 8 Woche betrachtet), habe ich dem Datenbereich einen Namen gegeben und eine bereich.verschieben()-Formel hinterlegt (funktioniert auch :) ). Wenn ich nun ein Makro aufnehme und im Diagramm die Datenquelle durch eingeben des Namens aktualisiere, übernimmt Excel im VBA-Code einen fixen Datenbereich und hinterlegt nicht den Namen bzw. die dazugehörige Formel, um bei der nächsten Aktualisierung die Größe des Datenbereichs anzupassen.
Kennt jemand die Lösung für mein Problem? Ich wäre jedenfalls sehr dankbar.
Viele Grüße und ein schönes Wochenende
Tobias
Anzeige
AW: Diagramm automatisch aktualisieren
09.05.2010 15:52:46
Beverly
Hi Tobias,
weshalb musst du den Wertebereich immer wieder neu an das Diagramm übergeben? Wenn du mit BEREICH.VERSCHIEBEN arbeitest, ändert sich der Datenbereich doch automatisch, da sich der Bereich durch diese Funktion anpasst.


Anzeige
AW: Diagramm automatisch aktualisieren
09.05.2010 16:10:07
Daniel
Hi
wenn du den gesamten Datenbereich für das Diagramm per Namen zuweisen willst, dann wandelt Excel den Namen in die aktuelle Addresse um und ist fix.
wenn den Zellbereich des Diagramms flexibel über berechnete Namen vorgeben willst, dann musst du für jede einzelne Datenreihe einen Namen vergeben.
Gruß, Daniel
Anzeige
AW: Diagramm automatisch aktualisieren
09.05.2010 17:22:28
Tobias
Hi
und danke für die schnellen Antworten.
Glücklicherweise schaffe ich es die Datenquelle manuell/automatisch über BEREICH.VERSCHIEBEN anzupassen. Nur möchte ich den manuellen Teil (rechte Maustaste im Diagramm -> Datenquelle anklicken -> "Namen" bzw. "Formel" eingeben) in einem Makro hinterlegen.
Wenn ich nun das Makro aufzeichnen, bekomme ich folgenden Code:
ActiveChart.SetSourceData Source:=Sheets("Tabelle1").Range("A14:E17"), _
PlotBy:=xlRows
Das ärgerliche ist, dass durch Range("A14:E17") die Datenquelle fix wird und meine Formel ~f~BEREICH.VERSCHIEBEN(DIAGRAMM1!$B$14;;;4;ANZAHL(14:14)+1) verschwindet.
Wie bekomme ich diese Formel (ggf. verpackt in einem Namen) an der u.a. Stelle ins Makro eingeflochten?
Danke nochmals für die Hilfe!
Gruß Tobias
Anzeige
AW: Diagramm automatisch aktualisieren
09.05.2010 21:03:54
Beverly
Hi Tobias,
wenn du den Datenbereich sowieso per Makro einträgst - wozu dann überhaupt BEREICH.VERSCHIEBEN verwenden? Du kannst doch die letzte belegte Zeile in einer Spalte bzw. die letzte belegte Spalte einer Zeile direkt per Code ermitteln und dann als Source fix eintragen, so wie es ein aufgezeichneter Code macht.


Anzeige
AW: Diagramm automatisch aktualisieren
10.05.2010 09:01:54
Tobias
Guten Morgen,
das wäre natürlich auch eine Möglichkeit, an die ich nicht gedachte habe. Warscheinlich deswalb, weil ich von VBA sogut wie keine Ahnung habe. Würdest du mir den Code dafür vielleicht zur Verfügung stellen?
Vielen Dank!
Gruß Tobias
AW: Diagramm automatisch aktualisieren
10.05.2010 11:33:46
Beverly
Hi Tobias,
auf meiner HP, Seite "Diagramme m. VBA" findest du dazu das Beispiel Dynamischer Datenbereich


Anzeige
AW: Diagramm automatisch aktualisieren
12.05.2010 14:22:23
Tobias
Hallo,
leider bekomme ich das gewünschte Ergebnis nicht, da die Werte über eine Formel in die Tabelle übernommen werden.
Ich werde noch ein wenig probieren müssen.
Danke nochmals
Gruß Tobias
AW: Diagramm automatisch aktualisieren
12.05.2010 21:26:40
Beverly
Hi Tobias,
dann wäre es vielleicht gut, wenn du deine Mappe mal hochladen würdest - dann braucht man nicht "ins Blaue" zu diskutieren.


Anzeige
AW: Diagramm automatisch aktualisieren
09.05.2010 18:41:12
Ralf
Hallo Tobias,
im Namensmanager einen Namen eintragen und als Bezug deine Formel (Bereich.Verschieben...) verwenden, im Makro kannst du dann den vergebenen Namen direkt ansprechen oder ohne VBA dem Diagramm gleich als Datenbereich zuweisen.
Grüße
Ralf

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Diagramm automatisch aktualisieren in Excel


Schritt-für-Schritt-Anleitung

Um ein Excel-Diagramm automatisch zu aktualisieren, kannst du die Funktion BEREICH.VERSCHIEBEN nutzen. Hier ist eine einfache Anleitung:

  1. Datenbereich definieren: Erstelle einen dynamischen Namensbereich über den Namensmanager:

    • Gehe zu Formeln > Namensmanager und klicke auf Neu.
    • Gib einen Namen wie DatenBereich ein.
    • Verwende die Formel:
      =BEREICH.VERSCHIEBEN(Tabelle1!$B$14;0;0;ANZAHL(Tabelle1!$B:$B);1)
    • Diese Formel passt die Höhe des Bereichs je nach Anzahl der Werte in der Spalte B an.
  2. Diagramm erstellen: Erstelle ein Diagramm und wähle als Datenquelle den Namen DatenBereich aus.

  3. Automatisches Aktualisieren: Um sicherzustellen, dass das Diagramm automatisch aktualisiert wird, kannst du ein VBA-Makro verwenden:

    Sub DiagrammAktualisieren()
       ActiveChart.SetSourceData Source:=Range("DatenBereich")
    End Sub

    Speichere das Makro und führe es aus, um dein Diagramm zu aktualisieren.


Häufige Fehler und Lösungen

  • Fehler: Das Excel-Diagramm aktualisiert sich nicht automatisch.

    • Lösung: Überprüfe, ob der Namensbereich korrekt definiert ist und ob die Formel BEREICH.VERSCHIEBEN korrekt eingegeben wurde.
  • Fehler: Das Diagramm übernimmt Werte nicht.

    • Lösung: Stelle sicher, dass der Datenbereich, den du definiert hast, tatsächlich Daten enthält. Überprüfe auch, ob du die richtige Referenz im Diagramm eingestellt hast.

Alternative Methoden

  1. Direktes Anpassen im Diagramm:

    • Du kannst den Datenbereich des Diagramms manuell anpassen, indem du mit der rechten Maustaste auf das Diagramm klickst und Datenquelle auswählen wählst.
  2. Pivot-Diagramme:

    • Wenn du mit Pivot-Tabellen arbeitest, kannst du die Pivot-Diagramme automatisch aktualisieren lassen, indem du die Datenquelle der Pivot-Tabelle entsprechend festlegst.
  3. VBA für dynamische Anpassungen:

    • Du kannst VBA verwenden, um das Diagramm bei Änderungen in den Daten automatisch zu aktualisieren, indem du das Diagramm in der Workbook_Open()-Ereignisprozedur einfügst.

Praktische Beispiele

  • Beispiel 1: Du hast eine Tabelle mit Verkaufszahlen, und du möchtest ein Diagramm, das die Verkaufszahlen für die letzten 12 Monate anzeigt. Verwende BEREICH.VERSCHIEBEN, um die letzten 12 Monate dynamisch auszuwählen.

  • Beispiel 2: Erstelle ein Diagramm, das die monatlichen Verkaufszahlen für verschiedene Produkte anzeigt. Verwende separate Datenbereiche für jedes Produkt, um die Diagramme automatisch zu aktualisieren.


Tipps für Profis

  • Nutze die Namen für dynamische Bereiche, um die Wartung deiner Excel-Datei zu erleichtern.
  • Halte deine Daten in einer tabellarischen Struktur, um die Verwendung von BEREICH.VERSCHIEBEN zu optimieren.
  • Wenn du mit Pivot-Diagrammen arbeitest, stelle sicher, dass die Aktualisierung der Pivot-Tabelle beim Öffnen der Datei aktiviert ist.

FAQ: Häufige Fragen

1. Warum aktualisiert sich mein Excel-Diagramm nicht automatisch? Es könnte sein, dass der Datenbereich nicht richtig definiert ist oder die Formel BEREICH.VERSCHIEBEN nicht korrekt eingebettet wurde.

2. Wie kann ich ein Diagramm in Excel manuell aktualisieren? Klicke mit der rechten Maustaste auf das Diagramm und wähle Datenquelle auswählen. Hier kannst du die Quelle manuell anpassen.

3. Kann ich auch VBA verwenden, um Diagramme zu aktualisieren? Ja, mit VBA kannst du dein Diagramm dynamisch aktualisieren, indem du den Datenbereich referenzierst, wie im Abschnitt zur Schritt-für-Schritt-Anleitung beschrieben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige