Hallo ich hab mal versucht deinen Ansatz nach zu verfolgen, ging aber nicht ganz so (bin Anfänger)...
jetzt habe ich aber folgendes Problem, ich muss das ganze erweitern und nicht mehr die Schlusskurse nehmen, sondern die Rendite, die ich wiederum erst in einem Vektor berechnen muss...leider funktioniert es nicht so wie ich will: --> Wie bekomme ich das hin? Dass ich einen Vektor erstelle mit den Renditen aus der Spalte g und dann damit den gleitenden Durchschnitt über 60 Werte berechne?
Option Explicit
Option Base 1
Sub Rendite()
Dim wb As Workbook
Set wb = Workbooks("Datei")
Dim ws1 As Worksheet
Set ws1 = Worksheets("Siemens")
Dim ws2 As Worksheet
Set ws2 = Worksheets("Ausgabe")
Dim rendite() As Double
Dim WinAve(1, 1141) As Single
Dim WinStd(1, 1141) As Single
Dim St As Variant
Dim t As Double
t = ws1.Cells(1, 1).End(xlDown).Row
St = ws1.Range("G2:G" & t)
Dim i As Single
Dim n As Single
ReDim rendite(UBound(St) - 1)
For n = 1 To UBound(St) - 1
rendite(n) = (St(n, 1) / St(n + 1, 1)) - 1
Next n
For i = 1 To 1141
WinAve(1, i) = WorksheetFunction.Average(Range(rendite(i + 1), rendite(i + 60)))
Next i
ws2.Range("A" & i + 1).Value = WinAve(1, i)
End Sub
|