gpt4 book ai didi

excel - 在 VBA 中使用 Excel 中的公式创建函数

转载 作者:行者123 更新时间:2023-12-04 21:47:03 26 4
gpt4 key购买 nike

我正在尝试创建一个计算 Drawdown 的函数。
它将按如下方式工作:

  • 我在 B 列中有特定股票的一系列报价:B(示例)
  • 我想知道最大回撤,即报价的最大跌幅是多少。
    enter image description here

  • 在这种情况下,最大的缩进出现在黄色区域!也就是说,公式看起来像:Drawdown = (MaxValue/Value)-1 ==> Drawdown = (13/9)-1
    我尝试如下,没有结果:
    Public Function MDD(ByVal Selection0, ByVal Selection1)
    'Function Max DrawDown

    Dim i As Long
    Dim Drawdown0 As Long
    Dim Drawdown1 As Long

    i = 2

    Drawdown0 = "(" & Selection0 & "/MAX(" & Selection1 & ")) - 1"



    While i < Plan1.Range("B" & Rows.Count).End(xlUp).Row + 1
    Drawdown1 = "(" & Selection0 & "/MAX(" & Selection1 & ")) - 1"
    If Drawdown1 > Drawdown0 Then
    Drawdown0 = Drawdown1
    End If
    i = i + 1
    Wend

    MDD = Drawdown0
    End Function

    Sub lsMDD()
    Application.MacroOptions Macro:="MDD", Category:=4
    End Sub
    错误在哪里?

    最佳答案

    您不需要遍历范围。看应用。 WorksheetFunction - 它有你需要的一切。

    Public Function MDD(ByVal pRange As Variant) As Variant
    MDD = Application.WorksheetFunction.Max(pRange) / Application.WorksheetFunction.Min(pRange) - 1
    End Function

    关于excel - 在 VBA 中使用 Excel 中的公式创建函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62540988/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com