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

Chart in Userform

Forumthread: Chart in Userform

Chart in Userform
17.12.2002 12:43:22
Jessica
Hallo nochmal!
Kann mir jemand einen Tipp geben wie ich am besten ein Diagramm in einer Userform ausgebe. Es soll auf einer Ergebnisseite erscheinen und entsprechend den gerade durchgelaufenen Makros immer die aktuellen Daten enthalten.
Füge ich es einfach als Image ein...
Vielen Dank für Eure Hilfe..
Gruß,
Jessica
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Chart in Userform
17.12.2002 12:48:32
Michael Scheffler
Hallo,

Du kannst es wirklich nur in dei Zwischenablage kopieren und dann in die Userform bringen.

Gruß

Micha

Nei - anders:
17.12.2002 12:58:52
Michael Scheffler
http://www.j-walk.com/ss/excel/tips/tip66.htm
Re: Chart in Userform
17.12.2002 13:02:13
Jessica
Kopieren ist ja einfach aber in welcher Form bringe ich es dann aus der Zwischenablage in die Userform. In einem Image oder geht das irgendwie anders. Kannst Du mir sagen wie der Code ungefähr aussehen muß?
Vielen Dank für Deine Ratschläge.
Jessica
Anzeige
Re: Nei - anders:
17.12.2002 13:16:14
Jessica
Super super Klasse!!!!
Besser gehts nicht... Vielen Dank.. Vergiß den anderen Beitrag.
Gruß,
Jessica
Re: Chart in Userform
17.12.2002 13:17:13
L.Vira
du bekommst ein dynamisches Diagramm mit Hilfe des Steuerelements ChartSpace in ein userform.
Alternative wäre, es als Gif zu exportieren und dann via LoadPicture in ein Image zu laden, aber dann ist es eben nicht dynamisch.
Anzeige
Größe des Diagramms
17.12.2002 13:21:47
Jessica
Doch noch nicht ganz so klasse... *schluchz
Das bildet die Tage eines Jahres ab und ist deshalb sehr lang. Ich habe es auf einer Userform mit Scroll-Balken untergebracht, aber leider wird das Bild bzw. die gif im Image ab einer gewissen Breite abgeschnitten. Egal wie breit ich Image1 ziehe, es geschieht immer, seitlich entstehen dann sogar graue Ränder, weil der Rahmen des Bildes vermeindlich zu groß ist. Das muß schätze ich mal irgendwie mit dem Speicherformat zu tun haben..
Kann ich die Größenrelationen irgendwie eingeben?
Hilfe...
Jessica
Anzeige
Re: Größe des Diagramms
17.12.2002 14:17:10
Michael Scheffler
Hi Jessica,

schlcuhzende Frauen sind etwas Schlimmes:-) Wie sieht denn das Bild im PhotoEditor aus?

Mitfühlend

Micha

Re: Größe des Diagramms
17.12.2002 14:49:06
Jessica
Hallo Micha!
Auch abgeschnitten.... Warum speichert der blöde Computer denn nicht das ganze Bild... *das nicht versteht...
Irgendeine Idee?
Gruß,
Jessica
Anzeige
Re: Größe des Diagramms
17.12.2002 15:13:44
Michael Scheffler
Versteh ich auch nicht, bei mir speichert er i.a. alles ab,. Du kannst mir ja mal die Mappe senden?
Re: Größe des Diagramms
17.12.2002 16:35:58
Jessica
Das ist leider nicht möglich...
Irgendeine Idee hierzu. Den Code hab ich hier von der Site:Sub DiagrammInUserForm()
Dim cht As Chart
Set cht = Charts.Add
Application.ScreenUpdating = False
cht.SetSourceData Source:=Sheets("Tabelle1").Range("A1:C3"), _
PlotBy:=xlRows
cht.Export "test.gif"
With frmChart.imgChart
.Picture = LoadPicture("test.gif")
'.AutoSize = True
End With
frmChart.Show
Kill "test.gif"
Application.DisplayAlerts = False
cht.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Als Ergebnis erhalte ich ein Diagramm auf einer extra Seite. Wenn dies als Gif in meine Userform übertragen wird, so ist die Grafik zwar komplett aber gestaucht. Kann ich vielleicht einen zusatz mit reinpacken um die Diagrammbreite zu ändern?
Gruß,
Jessica


Anzeige
;
Anzeige

Infobox / Tutorial

Diagramm in einer Userform anzeigen


Schritt-für-Schritt-Anleitung

Um ein Diagramm in einer Userform anzuzeigen, folge diesen Schritten:

  1. Diagramm erstellen: Erstelle ein Diagramm in einem Excel-Arbeitsblatt. Zum Beispiel kannst du die Methode Charts.Add verwenden, um ein neues Diagramm zu generieren.

    Sub DiagrammErstellen()
       Dim cht As Chart
       Set cht = Charts.Add
       cht.SetSourceData Source:=Sheets("Tabelle1").Range("A1:C3"), PlotBy:=xlRows
    End Sub
  2. Diagramm exportieren: Exportiere das Diagramm als Bild, beispielsweise im GIF-Format. Verwende dazu die Methode Export.

    cht.Export "test.gif"
  3. Userform erstellen: Öffne den VBA-Editor und erstelle eine neue Userform. Füge ein Image-Steuerelement hinzu, um das Diagramm anzuzeigen.

  4. Bild in die Userform laden: Verwende die Methode LoadPicture, um das exportierte Bild in das Image-Steuerelement zu laden.

    With frmChart.imgChart
       .Picture = LoadPicture("test.gif")
    End With
  5. Userform anzeigen: Zeige die Userform mit dem Diagramm an.

    frmChart.Show
  6. Aufräumen: Lösche das temporäre Bild und das Diagramm, um Speicherplatz freizugeben.

    Kill "test.gif"
    cht.Delete

Häufige Fehler und Lösungen

Fehler: Bild wird abgeschnitten

  • Stelle sicher, dass die Größe des Image-Steuerelements in der Userform ausreichend ist, um das gesamte Diagramm anzuzeigen. Überprüfe auch die AutoSize-Eigenschaft des Images.

Fehler: Diagramm wird nicht aktualisiert

  • Wenn das Diagramm nicht die aktuellen Daten anzeigt, stelle sicher, dass das Diagramm vor dem Exportieren aktualisiert wird und die Quelle korrekt gesetzt ist.

Alternative Methoden

  • Dynamisches Diagramm mit ChartSpace: Verwende das Steuerelement ChartSpace, um ein dynamisches Diagramm in der Userform anzuzeigen. Dies ermöglicht eine direkte Verknüpfung mit den Daten und eine automatische Aktualisierung.

  • Export als PNG oder JPEG: Je nach Qualität und Komplexität des Diagramms kann es sinnvoll sein, das Diagramm in einem anderen Bildformat zu exportieren.


Praktische Beispiele

Hier ist ein einfaches Beispiel, das zeigt, wie man ein Diagramm in einer Userform anzeigen kann:

Sub DiagrammInUserForm()
    Dim cht As Chart
    Set cht = Charts.Add
    Application.ScreenUpdating = False
    cht.SetSourceData Source:=Sheets("Tabelle1").Range("A1:C3"), PlotBy:=xlRows
    cht.Export "test.gif"

    With frmChart.imgChart
        .Picture = LoadPicture("test.gif")
        '.AutoSize = True
    End With

    frmChart.Show
    Kill "test.gif"
    cht.Delete
    Application.ScreenUpdating = True
End Sub

Stelle sicher, dass du die Userform frmChart korrekt in deinem VBA-Projekt eingerichtet hast.


Tipps für Profis

  • Verwende VBA-Fehlerbehandlung: Um sicherzustellen, dass dein Code robust ist, füge Fehlerbehandlungsroutinen hinzu, um unerwartete Probleme zu behandeln.

  • Optimierung der Bildqualität: Experimentiere mit verschiedenen Exportformaten und -einstellungen, um die beste Bildqualität für dein Diagramm zu erzielen.

  • Automatisierung: Überlege, dein Diagramm bei jeder Aktualisierung der Daten automatisch zu aktualisieren, um immer die neuesten Informationen anzuzeigen.


FAQ: Häufige Fragen

1. Wie kann ich die Größe des Diagramms in der Userform anpassen? Du kannst die Eigenschaften Width und Height des Image-Steuerelements in der Userform anpassen, um die Größe des Diagramms zu ändern.

2. Ist es möglich, mehrere Diagramme in einer Userform anzuzeigen? Ja, du kannst mehrere Image-Steuerelemente in der Userform hinzufügen und jedes Diagramm in ein separates Image-Steuerelement laden. Achte darauf, die Diagramme nacheinander zu exportieren.

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