Excel VBAvariables值等于公式

我努力在VBA中分配variables值。 我知道如何设置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 

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

 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)]