Hallo zusammen,
in unten stehendem Programm sind die alle zu sehenden Variablen als "Long" definiert:
aktZeile = startzeile
Dim Summe As Long
Summe = 0
For aktZeile = startzeile To endzeile Step 1
If Cells(aktZeile, 1).Interior.ColorIndex = 4 And Cells(aktZeile, 2).Value = "long" Or Cells(aktZeile, 1).Interior.ColorIndex = 4 And Cells(aktZeile, 2).Value = "Buy and Hold" Then
Kauf = aktZeile
Do Until Cells(aktZeile, 1).Interior.ColorIndex = 3 And Cells(aktZeile, 2).Value = "long" Or Cells(aktZeile, 1).Interior.ColorIndex = 3 And Cells(aktZeile, 2).Value = "Buy and Hold"
Verkauf = aktZeile + 1
aktZeile = aktZeile + 1
Loop
Range(Cells(Kauf, 10), Cells(Verkauf, 10)).FormulaR1C1 = "=((RC[-3]/R" & Kauf & "C5)-1)+ " & Summe & ""
Summe = Cells(Verkauf, 10)
End If
Next aktZeile
Die Variable "Summe" entspricht dem Zellwert von "Verkauf, 10". So läuft mein Programm durch, aber die "Summe" wird nur als ganze Zahl angezeigt (es kommt 0,96 raus und wird auch über die Formel in der Zelle berechnet, allerdings rechnet mir die "Summe" immer mit "1".
Wenn ich "Summe" als "Double" deklariere, bekomme ich eine Fehlermeldung:
"Laufzeitfehler 1004
Anwendungs- oder objektdefinierter Fehler"
Ich habe auch eher ein wenig planlos die Variablendeklarationen durchgetauscht, so recht komme ich auf keinen grünen Zweig.
Kann mir von euch jemand helfen oder weiß jemand einen einfacheren Weg wie ich die "Summe" für die nächste Berechnungsrunde zwischenspeichern kann?
Vielen Dank vorab!!!
|