VBA计算值到功能范围内的值

时间:2018-02-28 00:07:33

标签: arrays excel-vba range vba excel

我正在尝试生成一个简单的Excel VBA函数来计算不同类型的插值。我遇到的一个难点是,我似乎无法在函数中重新分配Y范围的值。

当我的VBA功能到达以下行时,它似乎无法根据以下公式更改/重新计算YRange值:

 YRange(rowCount) = -Log(YRange(rowCount)) / XRange(rowCount)

任何人都可以提供建议/帮助吗?

Public Function Kian_CurveInterp(XRange As Range, YRange As Range, XFrac As Double, InterpMode As Integer)
    Select Case InterpMode
        Case 1 'step-straight
            Kian_CurveInterp = Linterp2(XRange, YRange, XFrac)

        Case 2 'zero-rate interp
            Dim rowCount As Integer
            For rowCount = 1 To XRange.Count
                YRange(rowCount) = -Log(YRange(rowCount)) / XRange(rowCount) 'convert discountFactors to zero-rates
            Next rowCount
            Kian_CurveInterp = Linterp2(XRange, YRange, XFrac)
            Kian_CurveInterp = Exp(-Kian_CurveInterp * XFrac)
    End Select
End Function

0 个答案:

没有答案