【问题标题】:Excel VBA variable value equal to formulaExcel VBA变量值等于公式
【发布时间】:2013-03-18 19:17:40
【问题描述】:

我正在努力在 VBA 中分配变量值。我了解如何将 myVar 设置为这样的 ActiveCell.Value:

ActiveCell.FormulaR1C1 = "=SUM(RC[1]:RC[7])"
myVar = ActiveCell.Value
MsgBox (myVar)

是否可以将 myVar 设置为等于公式并跳过 ActiveCell.Value 行。我试过这个,但它不起作用。

myVar = "=SUM(RC[1]:RC[7])"

感谢您的帮助。

【问题讨论】:

    标签: excel vba variables formula


    【解决方案1】:

    我不知道您的目标范围更广,因此我提出可能有用的想法。但是,它会从FormulaR1C1 的相对引用切换到Range.Offset() 技术的相对引用。

    myVar = WorksheetFunction.Sum(Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 7)))
    MsgBox myVar
    

    【讨论】:

    • 感谢 Kaz Jaw。这就是我一直在寻找的。我正在研究一些宏,并试图了解一些基础知识。感谢您的帮助!
    【解决方案2】:

    是的,你可以。首先设置myVar 变量,然后将其应用于范围(ActiveCell 或任何其他范围对象)。

    Dim myVar as String
    Dim r as Excel.Range
    
    Set r = ActiveCell
    
    myVar = "=SUM(RC[1]:RC[7])"
    r.FormulaR1C1 = myVar
    

    【讨论】:

      【解决方案3】:

      如果您不需要您的公式与活动单元格相关,您也可以使用简短的[..] 来评估语句,例如:

      MsgBox [SUM(B1:B7)]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多