AW: Binomialbaum in Excel erstellen
29.08.2010 09:07:25
BoskoBiati
Hallo,
hier mal ein kleines Makro für Dein Problem:
Option Explicit
Sub binominalbaum()
Dim StartZeile As Long
Dim Startspalte As Long
Dim dblHoch As Double
Dim dblTief As Double
Dim dblAuf As Double
Dim dblAb As Double
Dim dblEnde As Double
Dim dblAnfang As Double
Dim Zähler As Long
Zähler = 0
dblAuf = Cells(2, 2)
dblAb = Cells(3, 2)
dblEnde = Cells(4, 2)
dblAnfang = Cells(5, 2)
dblHoch = dblAnfang
dblTief = dblAnfang
StartZeile = 5
Startspalte = 2
Do Until dblTief > dblEnde
dblHoch = dblHoch * dblAuf
dblTief = dblTief * dblAb
Rows(5).Rows.Insert shift:=xlDown
Zähler = Zähler + 1
StartZeile = StartZeile + 1
Startspalte = Startspalte + 1
Cells(StartZeile, Startspalte).Offset(Zähler, 0) = dblTief
Cells(StartZeile, Startspalte).Offset(-Zähler, 0) = dblHoch
Loop
End Sub
Ausgehend von dieser Grundtabelle:
Arbeitsblatt mit dem Namen 'Tabelle1' |
| A | B | C |
1 | | | |
2 | u | 1,30 | 50% |
3 | d | 0,7 | |
4 | E() | 1 | |
5 | Startwert | 5 | |
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg |
ergibt sich dann dieses:
Arbeitsblatt mit dem Namen 'Tabelle1' |
| A | B | C | D | E | F | G |
1 | | | | | | | |
2 | u | 1,30 | 50% | | | | |
3 | d | 0,7 | | | | | |
4 | E() | 1 | | | | | |
5 | | | | | | | 18,56465 |
6 | | | | | | 14,2805 | |
7 | | | | | 10,985 | | |
8 | | | | 8,45 | | | |
9 | | | 6,5 | | | | |
10 | Startwert | 5 | | | | | |
11 | | | 3,5 | | | | |
12 | | | | 2,45 | | | |
13 | | | | | 1,715 | | |
14 | | | | | | 1,2005 | |
15 | | | | | | | 0,84035 |
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg |
Gruß
Bosko