How to Fix Excel Adding an @ Symbol to VBA Formulas
Question details
Users notice that newer spreadsheet versions automatically insert an @ symbol into formulas generated via VBA macros, which disrupts array calculations and produces incorrect results.

- Product
- Microsoft Excel
- Device & OS
- not provided
- Scenario
- Writing or executing a VBA macro intended to populate a cell with an array formula that references a specific range.
- Observed behavior
- The application adds an @ symbol (implicit intersection operator) to the formula because it is inserted as a normal formula, breaking the intended array calculation.
Before modifying your VBA macro, verify that your intended formula calculation requires an array output rather than a single-value lookup.
Use FormulaArray Instead of FormulaR1C1
Switching your VBA property from a standard formula to an array formula prevents the application from adding the @ symbol.
In newer versions of Excel, dynamic arrays are supported natively. When a standard formula that references an array or range is entered via VBA using properties like .Formula or .FormulaR1C1, the application assumes you want a single value and automatically applies the @ symbol for implicit intersection.
To preserve the array calculation, you must explicitly declare the output as an array formula.
Press Alt + F11 on your keyboard to launch the Visual Basic for Applications (VBA) editor.
Find the specific module and macro line where the formula is being assigned to your spreadsheet range.
Change the `.Formula` or `.FormulaR1C1` syntax to `.FormulaArray`. For example, change `Sheets("ADMIN").Range("C14").FormulaR1C1 = ...` to `Sheets("ADMIN").Range("C14").FormulaArray = ...`.
Save your code and run the macro again. The formula will now correctly be entered as an array formula, surrounded by curly braces {}, without the unexpected @ symbol.

Try WPS Office for Seamless Macro Compatibility
If you are frustrated by unexpected syntax changes and compatibility issues in newer Excel versions, WPS Office offers a free, highly compatible alternative. It supports VBA macros, complex array formulas, and legacy workflows seamlessly.
- 1. Download WPS Office: Visit the official WPS website and download the free WPS Office installer.
- 2. Open Your Macro Workbook: Launch WPS Spreadsheet and open your existing macro-enabled Excel files.
- 3. Run Macros Natively: Execute your VBA codes natively within WPS without worrying about forced implicit intersections.

Frequently Asked Questions
What does the @ symbol mean in a spreadsheet formula?
The @ symbol represents the implicit intersection operator. It is automatically added by newer versions of Excel to indicate that the formula should extract a single value from a range or array rather than returning the entire array.
Can I manually delete the @ symbol from my formulas?
Yes, you can manually remove the @ symbol in the formula bar to convert it back to an array formula. However, if the formula is generated by a VBA macro, the @ symbol will reappear the next time the macro runs unless you modify the VBA code to use FormulaArray.
Does WPS Spreadsheet fully support VBA macros?
Yes, WPS Spreadsheet provides robust support for VBA macros. You can run, edit, and debug your existing scripts seamlessly, maintaining high compatibility with your legacy Microsoft Office files.




