Why Excel Adds the @ Symbol to VBA User-Defined Functions
Question details
Users notice that Excel automatically inserts an @ symbol before VBA User-Defined Functions (UDFs) when opening workbooks created in older software versions.

- Product
- Microsoft Excel
- Device & OS
- not provided
- Scenario
- Opening an Excel workbook containing VBA User-Defined Functions created in an older version of Excel.
- Observed behavior
- Excel automatically adds the implicit intersection operator (@) to the formulas containing the VBA functions, modifying the visual formula.
Check if your VBA user-defined function is intended to return a single numeric value or an array of values, as this determines whether the @ symbol is necessary for your calculation.
Keep or Remove the Implicit Intersection Operator (@)
Understand why the @ symbol appears and decide whether to keep or remove it based on your formula's expected output.
Modern versions of Excel use dynamic arrays and automatic spilling. To ensure compatibility with older workbooks, Excel adds the @ symbol (implicit intersection operator) to prevent legacy formulas from spilling across multiple cells.
If your VBA function is designed to return a single numerical or text value, the @ symbol will not affect the calculation and acts as a backwards-compatibility safeguard.
Click on the cell containing your VBA User-Defined Function and look at the formula bar to see the @ symbol.
If the function returns the correct single value as it did in older Excel versions, you can safely leave the @ symbol in the formula without any further action.
If your function is specifically coded to return an array of values and you want it to spill into adjacent cells, click inside the formula bar, delete the @ symbol, and press Enter.

Use WPS Office for Seamless VBA and Formula Compatibility
If you frequently work with legacy Excel workbooks and complex VBA macros, WPS Office provides a lightweight, highly compatible alternative that handles standard and array formulas without unexpected engine formatting changes.
- 1. Download WPS Office: Visit the official WPS website to download and install WPS Office Free on your computer.
- 2. Open your macro-enabled workbook: Launch WPS Spreadsheets, click on 'File' > 'Open', and select your existing .xlsm or .xlsx workbook containing the UDFs.
- 3. Enable macros and work seamlessly: Click 'Enable Macros' when prompted by the security warning to continue using your VBA User-Defined Functions exactly as intended.

Frequently Asked Questions
Can the @ symbol break my existing VBA functions?
No, the @ symbol actually forces the function to behave exactly as it did in older versions of Excel by returning a single value. It ensures your legacy formulas do not break or unexpectedly spill data across your spreadsheet.
How can I prevent Excel from automatically adding the @ symbol?
You cannot completely disable this automatic behavior, as it is a core feature of modern Excel's dynamic array engine when upgrading old files. However, you can manually remove the @ symbol from specific formulas if you want them to leverage the new spilling functionality.
What exactly is implicit intersection in Excel?
Implicit intersection is a calculation rule that reduces an array or a range of values to a single value based on the formula's row and column. In modern Excel, this behavior is explicitly shown using the @ symbol in front of functions, variables, or cell ranges.




