Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Monte-Carlo-Simulation mit VBA |
15.03.2008 17:04:45 |
Christoph |
|
|
|
18.03.2008 10:53:10 |
Versuch |
|
|
|
18.03.2008 11:50:24 |
Christoph |
|
|
|
18.03.2008 14:00:31 |
Holger |
|
|
|
18.03.2008 14:57:49 |
Christoph |
|
|
|
18.03.2008 15:00:09 |
Christoph |
|
|
Von:
Christoph |
Datum:
15.03.2008 17:04:45 |
Views:
2148 |
Rating:
|
Antwort:
|
Thema:
Monte-Carlo-Simulation mit VBA |
Hallo zusammen,
ich habe in den letzten Tagen das untenstehende Programm geschrieben, um eine Monte-Carlo-Simulation durchzuführen (100000 Simulationsdurchläufe mit 100 Zeitabschnitten), mit der Excel allein überfordert ist. Das Programm läuft im Prinzip fehlerfrei durch (bis auf die Tatsache, dass Excel bei der Berechnung abstürzt), jedoch passen einige Berechnungen nicht. Ich hoffe, ihr könnt mir ein bisschen weiterhelfen. Falls der Code etwas amateurhaft aussieht, bitte ich das zu entschuldigen, da ich mich erst seit einer Woche mit VBA beschäftige. Die Probleme, die auftreten, habe ich jeweils im Code angemerkt.
Ein weiteres Problem ist, dass Excel immer abstürzt, wenn ich das Makro ausführe. Kann ich das irgendwie beheben oder brauche ich nur einen stärkeren Rechner?
Grüsse und schon mal vielen Dank, Christoph
Option Explicit
Sub MonteCarloSimulation()
Dim i As Integer, j As Integer ' 0 Then '<- in diesem Abschnitt ist wohl ein Fehler, kann auch daran liegen, dass bisher im yArray keine Einsen vorkamen und somit das lnArray nie <0 geworden ist
wArray(i, j) = 0
Else: wArray(i, j) = Range("B7") - Range("B8") * XXArray(i, j)
End If
Next j
Next i
'=====Berechnung der durchschnittlichen Abschreibung je Periode j=====
For i = 0 To 99999
For j = 0 To 99
wAverage(j) = wAverage(j) + wArray(i, j)
Next j
wAverage(j) = wAverage(j) / 100000
Next i
Sheets("Tabelle1").[a1:a100] = wAverage(j) '<= Druckanforderung an Excel (stimmt das so?)- ich will, dass das komplette wAverage-Array in meinem Excel-Sheet ("Tabelle1") erscheint
End Sub
'==========Generierung der Zufallszahlen=========
Function zufallszahl() As Double
Randomize
zufallszahl = Rnd()
End Function |
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Monte-Carlo-Simulation mit VBA |
15.03.2008 17:04:45 |
Christoph |
|
|
|
18.03.2008 10:53:10 |
Versuch |
|
|
|
18.03.2008 11:50:24 |
Christoph |
|
|
|
18.03.2008 14:00:31 |
Holger |
|
|
|
18.03.2008 14:57:49 |
Christoph |
|
|
|
18.03.2008 15:00:09 |
Christoph |
|
|