LibreOffice Version: 22.214.171.124
I have a collection of functions written in VBA as a module in a VBA spreadsheet. The functions import and work properly in Calc. However, once I save the spreadsheet as .ods and load it, all the functions display #NAME? in the spreadsheet. Forcing manual recalculation does not correct the problem. The only way I can get the functions to work is by doing the following:
Tools > Macros >Organize Macros> LibreOffice Basic, pick the spreadsheet, then the module and a function, and attempt to run it. This produces an “Argument not optional” error. I close out of macros, open the function in the spreadsheet, and change a variable, then change it back. The function then calculates, but forcing a manual recalculation still does not work. The only way to make the functions work is to copy a working function to all instances and faking a variable change in the others.
Saving the spreadsheet at this point does not preserve functionality. Loading the spreadsheet again presents the same problem.
Things I’ve tried:
- Changed the Macro security settings from high to medium and low.
- Change the Calc options to recalculate Excel 2007 and higher and ODS spreadsheets on loading.
None resolve the problem.
Am I missing a step, or is this a bug?
Thanks in advance.