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

Forumthread: Diagramm: Datenbereich per VBA aktualisieren

Diagramm: Datenbereich per VBA aktualisieren
09.02.2018 07:59:26
Martin
Hallo zusammen,
ich habe eine Tabelle, welche mal länger/kürzer bzw. breiter/schmaler sein kann. Die Tabelle beginnt immer z.B. in Zelle C4 und wird nach rechts und nach unten aufgebauen.
Gerne würde ich das entsprechende Diagramm (X-Y-Punkte) dazu per Knopfdruck (VBA) aktualisieren können.
In einem anderen Forum habe ich den folgenden Code gefunden:
Sub diagramm_datenbereich()
Dim chDiagramm As Chart
With Worksheets("Tabelle1")
Set chDiagramm = .ChartObjects("Diagramm 2").Chart
chDiagramm.SetSourceData Source:=Range(.Range(.Cells(5, 2), .Cells(30, .Cells(30, 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

Das funktioniert auch ganz gut, insoweit dass die Breite des Diagramms automatisch angepasst wird. Leider bleibt bei der Aktualisierung nach unten der Datenbereich immer bei Zeile 30 hängen. Kann mir jemand auf die Sprünge helfen?
Vielen Dank und viele Grüße
Martin
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Diagramm: Datenbereich per VBA aktualisieren
09.02.2018 09:04:26
Beverly
Hi Martin,
dazu musst du zuerst die letzte belegte Zeile deiner Daten ermitteln und diese dann anstelle der 30 in den Code einfügen.


AW: Diagramm: Datenbereich per VBA aktualisieren
09.02.2018 10:09:55
Martin
Ja, das wäre ein Ansatz. Danke!
AW: Diagramm: Datenbereich per VBA aktualisieren
09.02.2018 11:18:23
Martin
Ich habe jetzt doch noch eine Frage:
Wie spreche ich ein Diagramm in einem Diagrammblatt richtig an?
Dim Blattname As String
Dim Diagrammname As String
Blattname = "Hauptmotorliste"
Diagrammname = "Hauptmotorliste-Dia"
With Worksheets(Blattname)
Set chDiagramm = .ChartObjects(Diagrammname).Chart
chDiagramm.SetSourceData Source:=Range(Cells(3, 2), Cells(Zeile, Spalte))
End With
Für den Fall, dass das Diagramm in dem Tabellenblatt ist, funktioniert der Code...im Diagrammblatt leider nicht.
Anzeige
AW: Diagramm: Datenbereich per VBA aktualisieren
09.02.2018 12:04:51
Beverly
Das sollte es tun:
Dim Blattname As String
Dim Diagrammname As String
Blattname = "Hauptmotorliste"
Diagrammname = "Hauptmotorliste-Dia"
Charts(Diagrammname).SetSourceData Source:=Worksheets(Blattname).Range(Worksheets(Blattname).Cells(3, 2), Worksheets(Blattname).Cells(Zeile, Spalte))



Anzeige
AW: Diagramm: Datenbereich per VBA aktualisieren
12.02.2018 08:41:28
Martin
Vielen Dank. Das funktioniert wunderbar!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Diagramm aktualisieren in Excel mit VBA


Schritt-für-Schritt-Anleitung

Um ein Diagramm in Excel per VBA zu aktualisieren, folge diesen Schritten:

  1. Öffne den Visual Basic-Editor: Drücke ALT + F11 in Excel.

  2. Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.

  3. Füge den folgenden Code ein, um den Datenbereich des Diagramms zu aktualisieren:

    Sub diagramm_datenbereich()
       Dim chDiagramm As Chart
       Dim letzteZeile As Long
    
       ' Ermittle die letzte belegte Zeile
       letzteZeile = Worksheets("Tabelle1").Cells(Rows.Count, 2).End(xlUp).Row
    
       With Worksheets("Tabelle1")
           Set chDiagramm = .ChartObjects("Diagramm 2").Chart
           chDiagramm.SetSourceData Source:=Range(.Cells(5, 2), .Cells(letzteZeile, .Cells(letzteZeile, 7).End(xlToRight).Column)).Address
       End With
    
       Set chDiagramm = Nothing
    End Sub
  4. Schließe den Editor und kehre zu Excel zurück.

  5. Füge einen Button hinzu: Gehe zu Entwicklertools > Einfügen > Button (Formularsteuerung).

  6. Weise das Makro zu: Klicke mit der rechten Maustaste auf den Button und wähle Makro zuweisen....

Jetzt kannst Du das Diagramm in Excel mit einem Klick aktualisieren!


Häufige Fehler und Lösungen

  • Fehler: "Das Diagramm aktualisiert sich nicht automatisch."

    • Lösung: Stelle sicher, dass das Makro ordnungsgemäß zugewiesen ist und dass die Referenzen auf die Zellen korrekt sind.
  • Fehler: "Das Diagramm bleibt bei einer bestimmten Zeile hängen."

    • Lösung: Überprüfe, ob die Logik zur Ermittlung der letzten Zeile korrekt implementiert ist. Stelle sicher, dass die richtige Spalte für die Daten genutzt wird.

Alternative Methoden

Wenn Du kein VBA nutzen möchtest, kannst Du das Diagramm auch manuell aktualisieren:

  1. Klicke mit der rechten Maustaste auf das Diagramm.
  2. Wähle Daten auswählen.
  3. Passe den Datenbereich manuell an.

Eine andere Möglichkeit ist, Excel Diagramme automatisch zu aktualisieren, indem Du die Option für die automatische Aktualisierung aktivierst.


Praktische Beispiele

Hier sind einige nützliche Beispiele, um verschiedene Diagramme in Excel zu aktualisieren:

  • Diagramm in einem Diagrammblatt:

    Dim Blattname As String
    Dim Diagrammname As String
    Blattname = "Hauptmotorliste"
    Diagrammname = "Hauptmotorliste-Dia"
    
    Charts(Diagrammname).SetSourceData Source:=Worksheets(Blattname).Range(Worksheets(Blattname).Cells(3, 2), Worksheets(Blattname).Cells(letzteZeile, letzteSpalte))
  • Diagramm manuell aktualisieren:

    Sub manuellesDiagrammAktualisieren()
       Dim chDiagramm As Chart
       Set chDiagramm = Worksheets("Tabelle1").ChartObjects("Diagramm 2").Chart
       chDiagramm.Refresh
    End Sub

Tipps für Profis

  • Nutze Variablen: Statt feste Werte wie 30 zu verwenden, nutze Variablen, um den Code flexibler zu gestalten.
  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um Probleme beim Aktualisieren des Diagramms zu vermeiden.
  • Automatisierung: Du kannst das Diagramm automatisch aktualisieren lassen, indem Du das Makro beim Öffnen der Datei oder bei bestimmten Änderungen ausführst.

FAQ: Häufige Fragen

1. Wie aktualisiere ich ein Diagramm in Excel automatisch?
Du kannst Excel so einstellen, dass das Diagramm automatisch aktualisiert wird, wenn die Daten geändert werden. Dies geschieht in der Regel durch die Verwendung von dynamischen Datenbereichen.

2. Was tun, wenn mein Diagramm sich nicht automatisch aktualisiert?
Überprüfe die Datenquelle des Diagramms und stelle sicher, dass der Datenbereich korrekt definiert ist. Möglicherweise musst Du auch das Makro anpassen, um sicherzustellen, dass es die richtigen Zellen erfasst.

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