Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1252to1256
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Chart über VBA in einem Fenster anzeigen

Chart über VBA in einem Fenster anzeigen
Manni
Hallo an Alle,
habe hier schon viele Antworten gefunden, aber jetzt hakt´s.
ich möchte eine Grafik (chart), welche in einer Tabelle eingebunden ist, per VBA in einem gesond. Fenster anzeigen lassen. Habe im Netz auch was gefunden, aber der Code aktuallisiert den Chart beim zweiten Aufruf nicht. Aus einer Userform füttere ich eine Tabelle, aus welcher wiederum das Chart erzeugt wird. In der Tabelle wird jede Änderung sofort richtig angezeigt. In der Userform gibt´s einen Button, welcher die Grafik als picture in der Userform anzeigt - hier zeigt´s beim ersten mal starten die Grafik richtig an. Nun wird Userform-Grafikanzeige geschlossen. Werden nun Werte in der Userform geändert und per Click in die Tabelle übertragen, und die Grafik per Button neu angezeigt, zeigt es immer noch die erste Version. Vermutlich muss man irgend wann das "Diagramm" oder das "Picture" zu Null setzen. (Ergänzung: lt. Code wird unter C:\temp\Dagramm.gif erzeugt. Wird diese aus dem Explorer aus geöffnet, zeigt sich, dass alle Änderungen übernommen wurden. Aber die Grafik-Anzeige in der Userform zeigt trotzdem den ersten Stand)
Anbei mein Code in der Userform, aus der die Grafik gestartet wird:
Private Sub StabiGrafik_Click()
Dim Diagramm As ChartObject
Dim lngWidth As Long, lngHeight As Long
Set Diagramm = Sheets("Tabelle1").ChartObjects(5) 'auf der Tab.1 gibt es 5 Chart´s - das fünfte soll angezeigt werden
Application.ScreenUpdating = False
With Diagramm
lngWidth = .Width
lngHeight = .Height
.Height = Application.Height / 1.5
.Width = Application.Width / 2
.Chart.Export Filename:="C:\Temp\Diagramm.gif"
.Height = lngHeight
.Width = lngWidth
End With
frmStabiGrafik.Show 'so heist die Userform, in der das Chart angezeigt werden soll
Application.ScreenUpdating = True
End Sub
in der Userform kommt dann folg. Code:

Private Sub Userform_Initialize()
Me.Height = Application.Height / 1.5
Me.Width = Application.Width / 2
Me.Picture = LoadPicture("C:\TEMP\Diagramm.gif")
Me.PictureSizeMode = fmPictureSizeModeClip
End Sub

Die erste Grafik wird richtig angezeigt,
Vielen Dank für eure Hilfe.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Chart über VBA in einem Fenster anzeigen
04.03.2012 21:48:26
Josef

Hallo Manni,
lade die Grafik doch beim Aufruf und nicht im Initialize-Ereignis.
Private Sub StabiGrafik_Click()
  Dim Diagramm As ChartObject
  Dim lngWidth As Long, lngHeight As Long
  Set Diagramm = Sheets("Tabelle1").ChartObjects(5) 'auf der Tab.1 gibt es 5 Chart´s - das fünfte soll angezeigt werden
  Application.ScreenUpdating = False
  With Diagramm
    lngWidth = .Width
    lngHeight = .Height
    .Height = Application.Height / 1.5
    .Width = Application.Width / 2
    .Chart.Export Filename:="C:\Temp\Diagramm.gif"
    .Height = lngHeight
    .Width = lngWidth
  End With
  With frmStabiGrafik
    .Picture = LoadPicture("C:\TEMP\Diagramm.gif")
    .Show
  End With
  Application.ScreenUpdating = True
End Sub



« Gruß Sepp »

Anzeige
AW: Chart über VBA in einem Fenster anzeigen
04.03.2012 22:00:43
Manni
Hallo Sepp
Wahnsinn, es klappt bestens.
Msgbox " Du bist der König !!! "
Vielen herzlichen Dank.
Manni
AW: Chart über VBA in einem Fenster anzeigen
04.03.2012 22:59:50
Paul
Hallo Manni,
willkommen im Forum
:-)
AW: Chart über VBA in einem Fenster anzeigen
04.03.2012 23:12:03
Manni
Hallo Paul,
Danke für die herzliche Aufnahme in euren erlauchten Kreisen - freut mich, dabei zu sein :-))

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige