Forum Discussion

akakat's avatar
akakat
Copper Contributor
Oct 25, 2026

Excel 4.0 macros are not working properly after last update Oct 2026

One of the functions I use in the name manager Eval1=LAMBDA(x,IF(TODAY(),EVALUATE(x),)) has stopped providing results. It only returns #NAME? as result. I have been using it for years without a problem and the last update (Oct 2026) I believe was the source of this issue. I have already checked the settings in the Trust Centre and are fine. 

1 Reply

  • NikolinoDE's avatar
    NikolinoDE
    Platinum Contributor

    Since your Eval1 defined name has worked for years and the problem appeared after a recent Microsoft 365 update, it is worth investigating whether Excel's handling of Excel 4.0 (XLM) macros has changed.

    Your formula relies on EVALUATE, a legacy Excel 4.0 macro function. Microsoft has tightened security around legacy macro technologies because they can be exploited to execute malicious code. However, we should not assume that the October 2026 update is necessarily the cause.

    Please check the following before modifying your existing workbook:

    1. Check the XLM macro setting

    In Excel, go to File → Options → Trust Center → Trust Center Settings → Macro Settings. Verify whether “Enable Excel 4.0 macros when VBA macros are enabled” is checked. In a managed corporate environment, this setting may also be controlled by Group Policy.

    2. Test EVALUATE independently

    In a temporary workbook, open Formulas → Name Manager → New and create a workbook-scoped name called TestEval referring to:

    =EVALUATE("1+1")

    Then enter =TestEval in an empty cell.

    • If the result is 2, EVALUATE works in this test, and we can investigate the original LAMBDA definition further.
    • If the result is #NAME?, we should investigate XLM macro restrictions and Excel's handling of the defined name.

    3. Check your Excel build

    Go to File → Account → About Excel and note the version and build number, along with the update channel if available.

    If the issue is confirmed to involve XLM macro restrictions, a possible longer-term alternative is to implement the required evaluation logic in a VBA User-Defined Function using Application.Evaluate. Whether this can replace your existing formula directly depends on how Eval1 is used throughout the workbook.

    I cannot yet confirm that the October 2026 update caused this issue. The results of these checks hope will help determine whether the problem is related to macro security, an update-specific regression, or another issue with the defined name.