我正在努力在 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])"
谢谢你的帮助。
我不知道您的目标范围更广,因此我提出可能有用的想法。然而,它从技术的相对参考切换FormulaR1C1
到技术的相对参考Range.Offset()
。
myVar = WorksheetFunction.Sum(Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 7)))
MsgBox myVar
是的你可以。首先设置myVar
变量,然后将其应用于范围(ActiveCell 或任何其他范围对象)。
Dim myVar as String
Dim r as Excel.Range
Set r = ActiveCell
myVar = "=SUM(RC[1]:RC[7])"
r.FormulaR1C1 = myVar
如果您不需要您的公式与活动单元格相关,您还可以使用 short[..]
来评估语句,例如:
MsgBox [SUM(B1:B7)]