Range.Formula2 property (Excel)

Returns or sets a Variant value that represents the object's formula in A1-style array notation.



expression A variable that represents a Range object.


This property is not available for OLAP data sources.

In Dynamic Arrays enabled Excel, Range.Formula2 supercedes Range.Formula. Range.Formula will continue to be supported to maintain backcompatibility. For more information about Dynamic Arrays and Range.Formula2, see Formula vs. Formula2.

If the cell contains a constant, this property returns the constant. If the cell is empty, this property returns an empty string. If the cell contains a formula, the Formula property returns the formula as a string in the same format that would be displayed in the formula bar (including the equal sign ( = )).

If you set the value or formula of a cell to a date, Microsoft Excel verifies that cell is already formatted with one of the date or time number formats. If not, Excel changes the number format to the default short date number format.

If the range is a one- or two-dimensional range, you can set the formula to a Visual Basic array of the same dimensions. Similarly, you can put the formula into a Visual Basic array.

Formulas set using Range.Formula2 will always be evaluated as an array and may spill if more than 1 result is returned.

Setting the formula for a multiple-cell range fills all cells in the range with the formula.


The following code example sets the formula for cell A1 on Sheet1.

Worksheets("Sheet1").Range("A1").Formula = "=$A$4+$A$10"

The following code example sets the formula for cell A1 on Sheet1 to display today's date.

Sub InsertTodaysDate() 
    ' This macro will put today's date in cell A1 on Sheet1 
    Selection.Formula2 = "=text(now(),""mmm dd yyyy"")" 
End Sub

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.