0

我正在努力在 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])"

谢谢你的帮助。

4

3 回答 3

2

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

myVar = WorksheetFunction.Sum(Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 7)))
MsgBox myVar
于 2013-03-18T19:45:46.447 回答
0

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

Dim myVar as String
Dim r as Excel.Range

Set r = ActiveCell

myVar = "=SUM(RC[1]:RC[7])"
r.FormulaR1C1 = myVar
于 2013-03-18T19:26:08.750 回答
0

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

MsgBox [SUM(B1:B7)]
于 2013-03-18T21:44:48.790 回答