Hi,
ich habe folgendes Problem:
Ich möchte mir gerne eine Funktion(kein Makro) für das Bootstrapping schreiben in VBA. Leider kenne ich mich noch nicht so gut mit VBA aus.
Kurz erklärt, ich markiere meine Werte und ziehe mit Hilfe der Index Funktion eine zufällige Zahl aus dem Zahlenbereich. Diese Zahl möchte ich mir dann in das Array speichern. Das soll 1000 mal passieren, (um eine Normalverteilung meiner Residuen zu generieren). Im nächsten Schritt möchte ich die Standardabweichung meiner Werte aus dem Array bestimmen.
Leider wird mir immer wieder Ref als Fehler angezeigt. Habe ausgestest, ob es ohne die Standardabweichung geht. Das hatte funktioniert, wenn ich mir einen konkreten Wert aus dem Array ausgegeben habe. Per Makro möchte ich es nicht lösen, da ich so mehr Spalten auf dem Excel Sheet brauche und ich am Ende nur eine Zelle nutzen möchte, um das Ergebnis zu erhalten.
Ich hoffe Ihr könnt mir helfen, um die Standardabweichung am Ende zu erhalten.
Vielen Dank.
Public Function TE3(res As Range) As Double
Dim bootstrap() As Variant
Dim repetition As Integer
Dim i As Integer
Dim rand As Double
Dim j As Integer
j = 1
repetition = 999
ReDim bootstrap(repetition)
n = res.Rows.Count
For i = 0 To 999
rand = Int(Rnd() * n) + 1
bootstrap(i) = WorksheetFunction.Index(Range(res(j), res(n)), rand)
Next i
TE3 = WorksheetFunction.StDev(Range(bootstrap(j), bootstrap(repetition)))
End Function
|