Fix issues with updating Conditional Formatting when inserting/deleting rows/columns #2689
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is:
Checklist:
Why this change is needed?
Fix issues with updating Conditional Formatting when inserting/deleting rows/columns
Update existing ranges, expanding or reducing if necessary, rather than trying to clone the CF for each individual cell.
This is also better for memory usage, with fewer CF rules and styles being maintained
Update conditions, so that cell references and formulae are maintained correctly.
Note that absolute as well as relative cell references should be updated in conditions
This is a the third and final step toward allowing updates to absolute cell references, required to update Conditional Formatting rules when columns/rows are inserted/deleted as highlighted by Issue #2678; the final step in a multi-step process.
Step 1
Refactor the cell reference update logic to make it easier to modify, and to test the planned modifications
This may also make the code more performant, as it allows elimination of a lot of code duplication in the different methods to update different components of the worksheet. PR #2682
Step 2
Modify the cell reference update logic to accept a flag indicating whether it should update absolute as well as relative cell references PR #2685
Step 3
Add the logic to update Conditional Formatting ranges and rules when inserting/deleting rows/columns