Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
636to640
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
636to640
636to640
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Diagramm dynamisch in userform anzeigen
14.07.2005 13:44:34
Frambach
hallo allerseits,
ich schreibe mimentan meine Masterthesis und möchte in diesem Rahmen eine Monte-Carlo-Simulation durchführen.
in eine Userform werden Daten eingegeben und an Excel übergeben. Ein makro in Excel führt die Simulation aus und erstellt ein Diagramm. ich möchte nun dieses Diagramm in der Userform anzeigen lassen und zwar dynamisch, so das man sehen kann, wie sich das Diagramm über die Simulationsläufe verändert. Die Möglichkeit über einen Export des Diagramms als z.B. name.gif und anschließenden Import in ein Image ist denke ich nicht geeignet, da ich zwischen 1000 und 10.000 Simulöationen durchführen möchte. ich denke das es zu lange dauern würde, außerdem weiss ich nicht, ob ich den ex- und import überhaupt in eine schleife reinbekomme.
Eine andere möglichkeit ist über chartspace - allerdings habe ich keine ahnung, wie das funktioniert.
wenn jemand helfen könnte wäre ich sehr dankbar.
gruß
jan

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramm dynamisch in userform anzeigen
14.07.2005 14:50:07
Ralf
Hi Jan,
möchtest Du mehrere Datenreihen in einem Diagramm, oder sollen mehrere Diagramme als eine Art Slideshow hintereinander ablaufen? Prinzipiell ist beides möglich. Keine Ahnung ob Dir das, https://www.herber.de/forum/messages/637207.html , weiterhilft, aber zumindest kann man den Umgang mit Diagrammen erkennen. Hier werden die Diagramme zwar nicht auf der Userform erstellt, doch das Handling ist ähnlich. Und falls Deine Angabe (Office 10.0) stimmt, sollte es da auch keine Probleme geben. Ansonsten kannst Du gern noch einmal nachfragen. Eine Beispieldatei wäre dann aber sehr hilfreich.
Ciao, Ralf
Anzeige
AW: Diagramm dynamisch in userform anzeigen
14.07.2005 15:39:34
Frambach
hallo ralf,
ich schick dir mal anbei die exceldatei. das diagramm der Auszahlungsbarwerte soll im chartspace der userform oder wie auch immer angezeigt werden. und zwar genau so, wie es in der excelansicht möglich ist. (bewegt also)
https://www.herber.de/bbs/user/24720.zip
danke
jan
AW: Diagramm dynamisch in userform anzeigen
14.07.2005 15:39:38
Frambach
hallo ralf,
ich schick dir mal anbei die exceldatei. das diagramm der Auszahlungsbarwerte soll im chartspace der userform oder wie auch immer angezeigt werden. und zwar genau so, wie es in der excelansicht möglich ist. (bewegt also)
https://www.herber.de/bbs/user/24720.zip
danke
jan
Anzeige
AW: Diagramm dynamisch in userform anzeigen
14.07.2005 16:30:04
Ralf
Hi Jan,
Du hast sicher Wochen gebraucht um Deine Datei zu erstellen. Soll ich mich jetzt schnell mal durch den ganzen Datenwust durchkämpfen? Es wäre ganz hilfreich wenn Du mir mal ein paar Eckpunkte gibst. Welche Daten (Tabelle/Zellen) sollen wann und wie im Diagramm ausgewertet werden?
Bis dahin,
Ciao, Ralf
AW: Diagramm dynamisch in userform anzeigen
14.07.2005 17:08:52
Frambach
hallo ralf,
es spielt sich alles af dem tabelleblatt "Rechnung" ab !!!!!
nachdem man die daten (obere und untere Grenze) in die userform eingetragen hat, werden diese nach excel übergeben. mit dem StartButton wird das makro MC01 gestartet.
die eingabedaten werden in die tabelle "eingangsdaten" eingetragen. innerhalb der Grenzen wird nun eine zufallszahlen für jede eingangsvariable (Anschaffungsauszahlung, Zinssatz, etc) erzeugt. das makro nimm die erzeugte zufallszahl für alle eingangsgrößen (wichtig ist hierdas excell nach einem copy sofort eine neue zufallszahl erzeut - ist wichtig für den nächsten durchlauf)und trägt sie in die entsprechenden felder der oberen berechnungstabelle (hier wird der kapitalwert für die erzeugten zufallszahlen berechnet)ein. der erechnete wert (E10) wird als nächstes in die spalte "J" & i (i ist die laufvariable beser gesagt die anzahl an simulationsläufen) eingetragen. aus der spalte J werden nun 10 Klassen gebildet (siehe tabelle Klassen). dann werden durch excell die häufigkeiten der in Spalte J eingetragenen Werte innerhalb der erzeugten Klassen berechnet. das diagrmm stellt dann auf der x-achse die Klassen dar und auf der primären y-achse die ermittelten häufigkeiten innerhalb der klassen dar, d.h. es baut sich verteilungsgebirge auf aus dem man ersehen kann, wir wahrscheinlich ein besimmter kapitalwert ist. Die daten für das diagramm kommen also aus den feldern A27:38 und C27:38.
ist etwas schwierig zu erklären.
letzendlich muss man eine methode finden, wie es möglich ist das diagramm dynamisch in die userform einzubinden.
danke!
gruß jan
Anzeige
AW: Diagramm dynamisch in userform anzeigen
14.07.2005 17:09:20
Frambach
hallo ralf,
es spielt sich alles af dem tabelleblatt "Rechnung" ab !!!!!
nachdem man die daten (obere und untere Grenze) in die userform eingetragen hat, werden diese nach excel übergeben. mit dem StartButton wird das makro MC01 gestartet.
die eingabedaten werden in die tabelle "eingangsdaten" eingetragen. innerhalb der Grenzen wird nun eine zufallszahlen für jede eingangsvariable (Anschaffungsauszahlung, Zinssatz, etc) erzeugt. das makro nimm die erzeugte zufallszahl für alle eingangsgrößen (wichtig ist hierdas excell nach einem copy sofort eine neue zufallszahl erzeut - ist wichtig für den nächsten durchlauf)und trägt sie in die entsprechenden felder der oberen berechnungstabelle (hier wird der kapitalwert für die erzeugten zufallszahlen berechnet)ein. der erechnete wert (E10) wird als nächstes in die spalte "J" & i (i ist die laufvariable beser gesagt die anzahl an simulationsläufen) eingetragen. aus der spalte J werden nun 10 Klassen gebildet (siehe tabelle Klassen). dann werden durch excell die häufigkeiten der in Spalte J eingetragenen Werte innerhalb der erzeugten Klassen berechnet. das diagrmm stellt dann auf der x-achse die Klassen dar und auf der primären y-achse die ermittelten häufigkeiten innerhalb der klassen dar, d.h. es baut sich verteilungsgebirge auf aus dem man ersehen kann, wir wahrscheinlich ein besimmter kapitalwert ist. Die daten für das diagramm kommen also aus den feldern A27:38 und C27:38.
ist etwas schwierig zu erklären.
letzendlich muss man eine methode finden, wie es möglich ist das diagramm dynamisch in die userform einzubinden.
danke!
gruß jan
Anzeige
AW: Diagramm dynamisch in userform anzeigen
14.07.2005 17:09:47
Frambach
hallo ralf,
es spielt sich alles af dem tabelleblatt "Rechnung" ab !!!!!
nachdem man die daten (obere und untere Grenze) in die userform eingetragen hat, werden diese nach excel übergeben. mit dem StartButton wird das makro MC01 gestartet.
die eingabedaten werden in die tabelle "eingangsdaten" eingetragen. innerhalb der Grenzen wird nun eine zufallszahlen für jede eingangsvariable (Anschaffungsauszahlung, Zinssatz, etc) erzeugt. das makro nimm die erzeugte zufallszahl für alle eingangsgrößen (wichtig ist hierdas excell nach einem copy sofort eine neue zufallszahl erzeut - ist wichtig für den nächsten durchlauf)und trägt sie in die entsprechenden felder der oberen berechnungstabelle (hier wird der kapitalwert für die erzeugten zufallszahlen berechnet)ein. der erechnete wert (E10) wird als nächstes in die spalte "J" & i (i ist die laufvariable beser gesagt die anzahl an simulationsläufen) eingetragen. aus der spalte J werden nun 10 Klassen gebildet (siehe tabelle Klassen). dann werden durch excell die häufigkeiten der in Spalte J eingetragenen Werte innerhalb der erzeugten Klassen berechnet. das diagrmm stellt dann auf der x-achse die Klassen dar und auf der primären y-achse die ermittelten häufigkeiten innerhalb der klassen dar, d.h. es baut sich verteilungsgebirge auf aus dem man ersehen kann, wir wahrscheinlich ein besimmter kapitalwert ist. Die daten für das diagramm kommen also aus den feldern A27:38 und C27:38.
ist etwas schwierig zu erklären.
letzendlich muss man eine methode finden, wie es möglich ist das diagramm dynamisch in die userform einzubinden.
danke!
gruß jan
Anzeige
AW: Diagramm dynamisch in userform anzeigen
15.07.2005 15:26:59
Ralf
Hi Jan,
ich hoffe, es ist so geworden wie Du Dir das vorstellst. In der x-Achse werden die Kapitalwerte, in der y-Achse die Häufigkeiten dargestellt. Für jeden Durchlauf wird eine neue Datenreihe erstellt (erkennbar am farblich abgestuften Balken). Unter:
https://www.herber.de/bbs/user/24743.zip
kannst Du Dir die Datei abholen.
Ciao, Ralf
Bug beheben
16.07.2005 10:01:48
Ralf
Hi Jan,
die Anzeige der Kapitalwerte in der vorherigen Version ist nicht korrekt. Kopiere die nachfolgende und überschreibe damit die alte Prozedur 'Bereiche_Verarbeiten'.

Sub Bereiche_Verarbeiten(ByVal Bereich As Integer)
Dim varWert As String, varHaeufig, Zelle, x As Byte
Zelle = "A27"
For x = 0 To 10
varWert = varWert & CStr(Round(Range(Zelle), 0)) & vbTab 'Kapitalwerte
varHaeufig = varHaeufig & Range(Zelle).Offset(0, 2) & vbTab ' Häufigkeiten!
Zelle = Range(Zelle).Offset(1, 0).Offset.Address
Next x
' Entfernen der nachfolgenden Tabstopptrennzeichen.
varWert = Left$(varWert, Len(varWert) - 1)
varHaeufig = Left$(varHaeufig, Len(varHaeufig) - 1)
With usrFormEingaben.chDiagramm
.Charts(0).SeriesCollection.Add
.Charts(0).SeriesCollection(Bereich - 1).Caption = Bereich & ". Durchlauf "
.Charts(0).SeriesCollection(0).SetData .Constants.chDimCategories, _
.Constants.chDataLiteral, varWert
.Charts(0).SeriesCollection(Bereich - 1).SetData .Constants.chDimValues, _
.Constants.chDataLiteral, varHaeufig
.AllowScreenTipEvents = True
End With
End Sub

Ciao, Ralf
Anzeige
AW: Diagramm dynamisch in userform anzeigen
18.07.2005 14:23:20
Frambach
hallo ralf,
vielen dank für die schnelle antwort. das probelm ist zu 90% gelöst. Es gibt allerdings ein problem mit der anzahl an simulationsläufen. man kann nur bis max. 256 läufe machen, da das makro für jeden lauf einen datenbereich (Balke) im diagramm erstellt, also einen balken und excel kann nur max. 256 darstellen. ist es nicht irgendwie möglich, dass man das diagramm genauso wie in excel darstellen kann. das problem aktuelle ist, dass er die klassen zwar abbildet, aber jedesmal wenn ein ereigniss in diese klasse fällt, dann zeichnet er einen balken innerhalb dieser klasse. ich hab keine erklärung dafür. ab un d zu kommt es auch vor, das wenn man z.B. 2 läufe macht, im diagramm jedoch 3 balken entstehen ....?
kannst du helfen ?!
danke
jan
Anzeige
AW: Diagramm dynamisch in userform anzeigen
18.07.2005 15:27:28
Ralf
Hi Jan,
um ehrlich zu sein, ich hab nur Bahnhof verstanden. Von welchen Klassen redest Du da? Du hast keine Klassen in diesem Programm. Und welche Ereignisse sollen in die nichtvorhandenen Klassen fallen?
Dass bei 2 Durchläufen 3 Balken entstehen ist doch absolut normal. Das könnten sogar 22 sein (11 mögliche Kapitalwerte mal 2 Durchläufe).
Du hast z.Bsp. beim 1 Durchlauf 2 Kapitalwerte (größer 0) mit unterschiedlicher oder gleicher Häufigkeit. Beim 2. Durchlauf einen Kapitalwert größer 0 mit dessen Häufigkeit. Macht 3 Balken.
Das heisst, jeder Balken einer Farbe steht für einen Durchlauf pro Kapitalwert und dessen Häufigkeit. Auf der x-Achse kannst Du rein theoretisch pro Durchlauf Deine 11 verschiedenen Kapitalwerte größer 0 (also 11 Balken pro Durchlauf) und deren Häufigkeit sehen. Ich dachte, dass wäre es was Du wolltest. Nur so kannst Du doch die unterschiedliche Verteilung sichtbar machen. Oder möchtest Du immer nur die Werte eines Durchlaufs sehen? Wenn ja, von welchem?
Tut mir leid, aber momentan weiss ich nicht was Du von mir möchtest... Das müßtest Du mir bitte nochmal erläutern.
Ciao, Ralf
Anzeige
AW: Diagramm dynamisch in userform anzeigen
19.07.2005 11:29:24
Frambach
hallo ralf,
mit den klassen meinte ich nicht programmiertechnische Klassen sondern die häufigkeitsklassen. Das programm läuft folgendermaßen:
1. Durchlauf
a.)für alle Eingangswerte werden Zufallszahlen erzeugt und nach Excel übergeben
b.)der kapitalwert (z.B. 10) wird das erste mal berechnet und in zeile ("J1") kopiert
c.)es werden Häufigkeitsklasse (Min+0,1*(Max-Min))bis (Min+1*(Max-Min))gebildet (beim ersten duchlauf nur eine klasse (10), da Min = Max)
d.)der ermittelte Kapitalwert ist jetzt in dieser Klasse natürlich nur einmal
vorhanden
2. Durchlauf
Wie 1.a.)
- der zweite Kapitalwert (z.B. 20) wird berechnet und in zeile ("J2") kopiert
- es werden Häufigkeitsklasse siehe 1.c.)- (10+0,1*(20-10))bis (10+1*(20-10))gebildet
1. Klasse = 10 (Min)
2. Klassse = 11 ................. 11. Klasse 20 (Max)
- der kapitalwert 10 kommt nun in der klasse 10 einmal vor und der kapitalwert 20 in der klasse 20 einmal vor
3. Durchlauf
- wie a.)
- der dritte kapitalwert (z.B. 12) wird berechnet
- die Häufigkeitsklassen bleiben bestehen da es keine neue Min oder Max gibt
- der kapitalwert 10 kommt nun in der klasse 10 einmal vor, der kapitalwert 20 in der klasse 20 einmal vor und der Wert 12 in der Klasse 12 einmal vor
sieh dir mal bitte das diagramm welches in excel erzeugt wird an!
vielleicht ist es ja jetzt deutlicher
Danke
Gruß
jan

Anzeige
AW: Diagramm dynamisch in userform anzeigen
19.07.2005 13:20:05
Ralf
Hi Jan,
vermutlich kommen wir mit dem folgenden Code der Sache schon ziemlich nahe. Lediglich auf die 2. Y-Achse mußt Du verzichten. Als Alternative wird die Anzahl des aktuellen Durchlaufs im Titel angezeigt.
Noch zu erledigen:
In der Prozedur MC01 die Zeilen ab:
With usrFormEingaben.chDiagramm
bis:
For i = 1 To intAnzSimLäufe
entfernen.
Prozedur:

Sub Bereiche_Verarbeiten(ByVal Durchlauf As Integer)
ersetzen durch:

Sub Bereiche_Verarbeiten(ByVal Durchlauf As Integer)
Dim varWert As String, varHaeufig, Zelle, x As Byte
Zelle = "A27"
'Diagramm vorbereiten
For x = 27 To 37
varWert = varWert & CStr(Round(Range("A" & x), 0)) & vbTab 'Kapitalwerte
varHaeufig = varHaeufig & Range("C" & x) & vbTab ' Häufigkeiten!
Next x
' Entfernen der nachfolgenden Tabstopptrennzeichen.
varWert = Left$(varWert, Len(varWert) - 1)
varHaeufig = Left$(varHaeufig, Len(varHaeufig) - 1)
'Diagramm zeichnen
With usrFormEingaben.chDiagramm
.Clear
.Charts.Add
' Erstellen eines Balkendiagramms.
.Charts(0).Type = chChartTypeColumnClustered
.Charts(0).HasTitle = True
.Charts(0).Title.Caption = "Durchgeführte Durchläufe: " & Durchlauf
.Charts(0).Axes(0).HasTitle = True 'X-Achse
.Charts(0).Axes(1).HasTitle = True 'y-Achse
.Charts(0).Axes(0).Title.Caption = "Kapitalwerte"
.Charts(0).Axes(1).Title.Caption = "Häufigkeit"
.Charts(0).SeriesCollection.Add
.Charts(0).SeriesCollection(0).Caption = Durchlauf & ". Durchlauf "
.Charts(0).SeriesCollection(0).SetData .Constants.chDimCategories, _
.Constants.chDataLiteral, varWert
.Charts(0).SeriesCollection(0).SetData .Constants.chDimValues, _
.Constants.chDataLiteral, varHaeufig
.AllowScreenTipEvents = True
End With
End Sub

Ciao, Ralf
AW: Diagramm dynamisch in userform anzeigen
19.07.2005 13:48:56
Frambach
hallo ralf,
perfekt !!!! läuft genauso wie ich es mir vorgestellt habe. warst echt meine rettung.
vielen dank noch mal !!!
Gruß
Jan
AW: Diagramm dynamisch in userform anzeigen
14.07.2005 15:39:44
Frambach
hallo ralf,
ich schick dir mal anbei die exceldatei. das diagramm der Auszahlungsbarwerte soll im chartspace der userform oder wie auch immer angezeigt werden. und zwar genau so, wie es in der excelansicht möglich ist. (bewegt also)
https://www.herber.de/bbs/user/24720.zip
danke
jan
AW: Diagramm dynamisch in userform anzeigen
14.07.2005 15:39:45
Frambach
hallo ralf,
ich schick dir mal anbei die exceldatei. das diagramm der Auszahlungsbarwerte soll im chartspace der userform oder wie auch immer angezeigt werden. und zwar genau so, wie es in der excelansicht möglich ist. (bewegt also)
https://www.herber.de/bbs/user/24720.zip
danke
jan
AW: Diagramm dynamisch in userform anzeigen
14.07.2005 15:39:45
Frambach
hallo ralf,
ich schick dir mal anbei die exceldatei. das diagramm der Auszahlungsbarwerte soll im chartspace der userform oder wie auch immer angezeigt werden. und zwar genau so, wie es in der excelansicht möglich ist. (bewegt also)
https://www.herber.de/bbs/user/24720.zip
danke
jan
AW: Diagramm dynamisch in userform anzeigen
14.07.2005 15:40:02
Frambach
hallo ralf,
ich schick dir mal anbei die exceldatei. das diagramm der Auszahlungsbarwerte soll im chartspace der userform oder wie auch immer angezeigt werden. und zwar genau so, wie es in der excelansicht möglich ist. (bewegt also)
https://www.herber.de/bbs/user/24720.zip
danke
jan
AW: Diagramm dynamisch in userform anzeigen
14.07.2005 15:40:12
Frambach
hallo ralf,
ich schick dir mal anbei die exceldatei. das diagramm der Auszahlungsbarwerte soll im chartspace der userform oder wie auch immer angezeigt werden. und zwar genau so, wie es in der excelansicht möglich ist. (bewegt also)
https://www.herber.de/bbs/user/24720.zip
danke
jan
AW: Diagramm dynamisch in userform anzeigen
14.07.2005 15:40:13
Frambach
hallo ralf,
ich schick dir mal anbei die exceldatei. das diagramm der Auszahlungsbarwerte soll im chartspace der userform oder wie auch immer angezeigt werden. und zwar genau so, wie es in der excelansicht möglich ist. (bewegt also)
https://www.herber.de/bbs/user/24720.zip
danke
jan
AW: Diagramm dynamisch in userform anzeigen
14.07.2005 15:40:14
Frambach
hallo ralf,
ich schick dir mal anbei die exceldatei. das diagramm der Auszahlungsbarwerte soll im chartspace der userform oder wie auch immer angezeigt werden. und zwar genau so, wie es in der excelansicht möglich ist. (bewegt also)
https://www.herber.de/bbs/user/24720.zip
danke
jan
AW: Diagramm dynamisch in userform anzeigen
14.07.2005 15:40:14
Frambach
hallo ralf,
ich schick dir mal anbei die exceldatei. das diagramm der Auszahlungsbarwerte soll im chartspace der userform oder wie auch immer angezeigt werden. und zwar genau so, wie es in der excelansicht möglich ist. (bewegt also)
https://www.herber.de/bbs/user/24720.zip
danke
jan

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige