代码之家  ›  专栏  ›  技术社区  ›  Mauro

循环上Bloomberg函数的VBA问题

  •  0
  • Mauro  · 技术社区  · 7 年前

    Sub addbdh()
    
    Dim i As Integer
    Dim n As Integer
    
    Range("A3").Select
    Range(Selection, Selection.End(xlToRight)).Select
    
    n = Selection.Count
    
    For i = 1 To n
    
    Cells(3, i * 2 - 1).Formula = "BDH(""A"" & "i * 2 - 1", "A1", "B1, "hoy()")"
    
    Next i
    
    End Sub
    

    问题是我在指令上出现了一个错误:

    Cells(3, i * 2 - 1).Formula = "BDH(""A"" & "i * 2 - 1", ""A1"", ""B1"", "Today()")"
    

    谁能帮我找出代码上的错误?

    非常感谢你。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Vityata    7 年前

    一般来说 .Formula 显示了真正的英语公式。不管你的语言是什么。因此 Hoy() 应更改为 Today() .

    Cells(3, i * 2 - 1).Formula = "=BDH(A" & i * 2 - 1 & ", A1, B1, Today())"
    

    通常,当您遇到类似“如何将工作Excel公式转换为VBA”的问题时,请执行以下操作:

    1. 从即时窗口中取公式,稍加修改以放入变量 i * 2 - 1 .

    Public Sub PrintMeUsefulFormula()
    
        Dim strFormula  As String
        Dim strParenth  As String
    
        strParenth = """"
    
        strFormula = Selection.Formula
        strFormula = Replace(strFormula, """", """""")
    
        strFormula = strParenth & strFormula & strParenth
        Debug.Print strFormula
    
    End Sub