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

Forumthread: Diagramm aktualisieren mit vba

Diagramm aktualisieren mit vba
10.11.2022 17:17:24
Matze
Servus Liebes Forum,
Ich lade aktuell ein im Hintergrund laufendes Diagramm in die geöffnete Userform hinein.
Aktuell läuft es so dass Daten die in der Userform eingegeben werden einfach in Zelle 100+++ eingeschrieben werden damit sie außer Sicht sind. Mit diesen Zeilen verknüpft ist ein Diagramm welches durch nachfolgenden Code exportiert und in die Userform geladen wird.
Jetzt ist nur das Problem dass ich beim ersten öffnen der Datei immer runterscrollen muss in der Arbeitsmappe damit excel das Diagramm lädt sonst zeigt es beim importieren einen Fehler an weil das Bild/Diagramm dann leer ist.
Nun also die Frage wie ich Excel bzw. dem Diagramm per Code sagen kann damit es geladen wird vor dem Export?
grüße Matze
Sheets("Tabelle1").Activate
Sheets("Tabelle1").ChartObjects("Diagramm 43").Chart.Export _
Filename:="C:\Users\matth\chart.gif", FilterName:="GIF"
With ImageDiagramm
.PictureSizeMode = fmPictureSizeModeZoom
.Picture = LoadPicture("C:\Users\matth\chart.gif")
End With
Kill "C:\Users\matth\chart.gif"
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramm aktualisieren mit vba
11.11.2022 14:09:22
Beverly
Hi,
versuche es mal mit

Sheets("Tabelle1").ChartObjects("Diagramm 43").Chart.Refresh
Bis später
Karin

AW: Diagramm aktualisieren mit vba
14.11.2022 18:55:29
Matze
Danke für den Ansatz ,
hat aber leider nicht funktioniert.
Bei der Zeile:
.Picture = LoadPicture("C:\Users\matth\chart.gif")
Kommt (wenn nicht runtergescrollt und Diagramm geladen) immer noch "Laufzeitfehler 481 ; ungültiges Bild"
Grüße &Danke Matze
Anzeige
AW: Diagramm aktualisieren mit vba
15.11.2022 10:49:49
Beverly
Weshalb lädst du dann das Bild gleich beim Öffnen der Arbeitsmappe, wenn das Fehler verursacht? kann man doch sicher auch anders machen, damit dieses Problem nicht auftritt.
Bis später
Karin

;
Anzeige
Anzeige

Infobox / Tutorial

Diagramm mit VBA in Excel aktualisieren


Schritt-für-Schritt-Anleitung

  1. Vorbereitung: Stelle sicher, dass dein Diagramm in der Excel-Tabelle vorhanden ist. Notiere dir den Namen des Diagramms (z.B. "Diagramm 43").

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Ein neues Modul erstellen:

    • Klicke im Menü auf Einfügen > Modul.
  4. Code einfügen: Kopiere den folgenden Code in das Modul:

    Sub DiagrammAktualisieren()
       ' Aktiviere das Arbeitsblatt
       Sheets("Tabelle1").Activate
       ' Diagramm aktualisieren
       Sheets("Tabelle1").ChartObjects("Diagramm 43").Chart.Refresh
       ' Diagramm exportieren
       Sheets("Tabelle1").ChartObjects("Diagramm 43").Chart.Export _
           Filename:="C:\Users\matth\chart.gif", FilterName:="GIF"
       ' Bild in Userform laden
       With ImageDiagramm
           .PictureSizeMode = fmPictureSizeModeZoom
           .Picture = LoadPicture("C:\Users\matth\chart.gif")
       End With
       ' Temporäre Datei löschen
       Kill "C:\Users\matth\chart.gif"
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und führe das Makro aus, indem du ALT + F8 drückst und das Makro auswählst.


Häufige Fehler und Lösungen

  • Fehler: Laufzeitfehler 481 - ungültiges Bild
    Dieser Fehler tritt auf, wenn das Diagramm nicht aktualisiert wurde, bevor das Bild geladen wird. Stelle sicher, dass du das Diagramm mit der Zeile Chart.Refresh aktualisierst.

  • Diagramm wird nicht angezeigt
    Überprüfe, ob das Diagramm tatsächlich auf dem Arbeitsblatt "Tabelle1" vorhanden ist. Nutzung von Sheets("Tabelle1").Activate kann helfen, das Diagramm sichtbar zu machen.


Alternative Methoden

Eine weitere Möglichkeit, dein Diagramm in Excel zu aktualisieren, ist die Verwendung der Funktion Application.ScreenUpdating. Diese kann helfen, das Bildschirmflackern zu reduzieren und die Aktualisierung zu beschleunigen:

Sub DiagrammAktualisieren()
    Application.ScreenUpdating = False
    ' Diagramm aktualisieren
    Sheets("Tabelle1").ChartObjects("Diagramm 43").Chart.Refresh
    Application.ScreenUpdating = True
End Sub

Praktische Beispiele

Beispiel 1: Diagramm automatisch beim Öffnen der Datei aktualisieren
Füge den folgenden Code in das ThisWorkbook-Modul ein:

Private Sub Workbook_Open()
    Call DiagrammAktualisieren
End Sub

Beispiel 2: Excel aktuelles Datum einfügen ohne Aktualisierung
Um das aktuelle Datum einzufügen, kannst du die folgende Formel in eine Zelle schreiben:

=HEUTE()

Diese Formel aktualisiert sich automatisch, wenn die Arbeitsmappe geöffnet wird.


Tipps für Profis

  • Verwende Fehlerbehandlung im VBA-Code, um unerwartete Fehler zu vermeiden. Beispiel:

    On Error Resume Next
  • Nutze Benutzereingaben, um das Diagramm dynamisch zu gestalten. Du kannst beispielsweise ein Eingabefeld für die Diagrammnummer einfügen.

  • Experimentiere mit verschiedenen Diagrammtypen und analysiere, welcher für deine Daten am besten geeignet ist. Excel Diagramme aktualisieren sich schneller, wenn die Datenquellen gut strukturiert sind.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass mein Diagramm immer aktuell ist?
Verwende die Chart.Refresh-Methode im VBA, um das Diagramm vor dem Export zu aktualisieren.

2. Gibt es eine Möglichkeit, das Diagramm automatisch beim Öffnen der Datei zu aktualisieren?
Ja, du kannst den Code in das Workbook_Open-Ereignis einfügen, sodass das Diagramm automatisch aktualisiert wird.

3. Was mache ich, wenn die Grafik nicht geladen wird?
Prüfe, ob das Diagramm korrekt aktualisiert wurde und ob der Pfad zur Bilddatei stimmt. Stelle sicher, dass das Diagramm vor dem Export sichtbar ist.

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