Hallo Zusammen,
ich verzweifel gerade hier ran:
ich moechte einen vba function ein eindimensionales Array uebergeben und der Output soll ein zweidimensionales Array sein, dessen Diagonale sich aus den Inputwerten berechnet:
(Groesser des Inputarray soll variabel sein)
1 zu 4 0 0
1 0 4 0
1 0 0 4
mit meinem Code bekomme ich leider nur Fehlermeldungen oder Values:
Public Function createSplineArray(Steps() As Variant) As Variant
Dim ArrayOne(UBound(Steps(1)), UBound(Steps(1))) As Variant
Dim i As Integer
ArrayOne(i, i) = 2 * (Steps(1) + Steps(2))
Next i
createSplineArray() = ArrayOne()
End Function
Wenn ich das richtig verstanden habe, müsste folgendes die korrekte Funktion sein:
Public Function createSplineArray(Steps() As Double) As Double(,)
Dim ret(UBound(Steps), UBound(Steps)) As Double
For i As Integer = 0 To UBound(Steps)
For j = 0 To UBound(Steps)
ret(i, j) = 0
Next
ret(i, i) = Steps(i)
Next
Return ret
End Function
sub ausgabe
Dim werte(2) As Double
werte(0) = 1
werte(1) = 2
werte(2) = 3
Dim ret(,) As Double = createSplineArray(werte)
Dim retStr As String = „“
For i As Integer = 0 To UBound(ret)
For j As Integer = 0 To UBound(ret)
retStr &= ret(i, j) & " "
Next
retStr &= vbCrLf
Next
'1 0 0
'0 2 0
'0 0 3
end sub
Gruss,
Andi Osswald
Vielen Dank!