Version: 7.5.3.2 (X86_64) / LibreOffice Community
Build ID: 9f56dff12ba03b9acd7730a5a481eea045e468f3
CPU threads: 12; OS: Windows 10.0 Build 22621; UI render: Skia/Raster; VCL: win
Locale: en-AU (en_AU); UI: en-GB
Calc: threaded
The problem:
Data >> Calculate >> Formula to Value
works as you would expect on a single selected cell OR on a contiguous/adjacent range of cells that have been selected.
Indeed the same can be said of Copy (Ctrl+c) followed by Paste Special (Ctrl+Shift+c) … it works as you would expect so long as the selected cells are adjacent to one another. When even one cell is disjoint from the others the now disjoint cells can still be copied as one selection but none of them can be (Paste-Special)ed onto themselves as one batch operation.
What I have is a disjoint selection of cells selected using
Edit >> Find and Replace (
"target_string";
[Current selection only];
[Search in(Formulae)]
) >> [Find All]
- Is there a simple macro (or better) way to iteratively apply the “Formula to Value” operation on each cell in a selected range?
As a clumsy workaround I could rearrange my spreadsheet so that all cells with matching formulae are guaranteed to be adjacent (just to make Formula to Value and/or Copy&PasteSpecial function as needed) but before taking that step I am asking here if there is a more elegant solution.
CONTEXT
(Not strictly relevant but … who knows? … I don’t know what I don’t yet know!!)
I am using Calc as a very simple database in an accounting Ledger style of application. When creating a new record (a single row) in that Ledger I prefill data into various cells in that one row by using the VLOOKUP function and indexing into columns of a predefined Database Range that I have named “db_Vendor_prefill”. So you can probably imagine how easy it is to select that entire row/record and then use the name of that Database Range as a argument to very easily select all cells that have been prefilled.
- Is there some other method to prefill data into many disjoint fields of a new record using values directly?