Liebe Forengemeinde,
ich bin ein blutiger Anfänger in Sachen VBA und möchte nun eine MonteCarlo Simulation für die Risikobewertung aufstellen. Ich habe bereits eine passende gefunden. nur erhalte ist stets als Ergebnis das Wort "Result".
Ich bin wie folgt vorgegangen.
1. Erstellen einer Basisdatei in Excel mit 3 Tabellenblätter
- Setup
Hier stehen die Informationen; Anzahl der Berechnungsdurchläufe; Kriterium ob Input oder Output, die Paramter (Material, Lohn, Personal, Ergebniss) und die Bandbereiten in der sich die jeweiligen bewegen.
- Data
Hier sollen die Daten der Durchläufe aufgelistet werden
Spalte 1: MAterial+Lohn+Personal-Ergebnis; Aber hier wird nix ausgewertet sondern in jede Zeile das Wort "Result" eingefügt
ab spalte G die einzelnen Ausprägungen der Durchläufe von Material, Lohn, Peronsal
- Chart
2. Erstellung einer Vergleichsdatei "BP"
Anbei der Code:
Sub MonteCarlo()
On Error GoTo 100
' clearing old Data
Worksheets("Data").Activate
Range("A:A").Clear
Worksheets("Setup").Activate
' Rechenläufe
NOS = Range("NOS")
For i = 1 To NOS
r = 6
Do While Not (IsEmpty(Cells(r, 1)))
r = r + 1
Current_IO = Cells(r, 1)
Current_File = Cells(r, 2)
Current_Sheet = Cells(r, 3)
Current_Cell = Cells(r, 4)
Current_Value = Cells(r, 5)
If Current_IO = "I" Then
Workbooks(Current_File).Worksheets(Current_Sheet).Range(Current_Cell) = Current_Value
Workbooks("MonteCarlo.xlsm").Worksheets("Data").Cells(i, r) = Current_Value
ElseIf Current_IO = "O" Then
Result = Workbooks(Current_File).Worksheets(Current_Sheet).Range(Current_Cell)
Workbooks("MonteCarlo.xlsm").Worksheets("Data").Cells(i, 1) = Result
End If
' Ende der Spaltenrehiung
Loop
'Ende der Berechnungsläufe
Next i
' Errot Handling
GoTo 200
100 MsgBox Error
200
End Sub
Könnte Ihr mit bitte einen Tipp geben wie die Ergebnisse je Zeile ausgewiesen werden?
Besten Dank vorab
|