folgendes Problem: Ich soll in einer Matrix/Array in der 2ten Spalte die Rendite von den Aktienkursen (1 Spalte) mit der von mir selbst geschriebenen Funktion berechnen. Mein Code sieht wie folgt aus:
Option Explicit
Option Base 1
'Funktion erstellen
Function Tagesrendite(KursHeute As Integer, KursGestern As Integer) As Variant
Tagesrendite = (KursHeute - KursGestern) / KursGestern
End Function
Sub Aufgabe2()
Dim Matrix(1 To 20, 1 To 3) As Integer
Matrix(1, 1) = 10
Matrix(2, 1) = 12
.....
Matrix(20,1)=15
'Mein Ansatz wäre nun beispielhaft
Matrix(1, 2) = 0
Matrix(2, 2) = Tagesrendite(Matrix(2, 1), Matrix(1, 1))
Matrix(3, 2) = Tagesrendite(Matrix(3, 1), Matrix(2, 1))
Debug.Print (Tagesrendite(Matrix(2, 1), Matrix(1, 1))) 'funktioniert einwandfrei(Ergebnis wird mir angezeigt)
Debug.Print (Matrix(3, 2)) ' funktioniert nicht!, es zeigt mir nur 0 an
End Sub
Ich verstehe nicht so recht wieso es nicht funktioniert, dass es den Wert in die Matrix übernimmt.
Mir ist aufgefallen, dass ich Matrix als Integer also ganze Zahl spezifiert habe, rauskommen tun aber Komma Zahlen kann es daran liegen dass er sie sozusagen automatisch zu 0 macht ?
Anways, ich hab auch probiert es umzuschreiben also die Matrix auf As Double, jedoch taucht _
hierbei erneut ein Problem auf bei mir: "Argumenttyp ByRef unverträglich" und die Zeile wo ich _
die Prozedur erstelle '( Sub Aufgabe2() wird mir gelb markiert)