internal void BreakConditionalFormatsIntoCells(List<IXLAddress> addresses) { var newConditionalFormats = new XLConditionalFormats(); SuspendEvents(); foreach (var conditionalFormat in ConditionalFormats) { foreach (XLCell cell in conditionalFormat.Range.Cells(c=>!addresses.Contains(c.Address))) { var row = cell.Address.RowNumber; var column = cell.Address.ColumnLetter; var newConditionalFormat = new XLConditionalFormat(cell.AsRange(), true); newConditionalFormat.CopyFrom(conditionalFormat); newConditionalFormat.Values.Values.Where(f => f.IsFormula) .ForEach(f => f._value = XLHelper.ReplaceRelative(f.Value, row, column)); newConditionalFormats.Add(newConditionalFormat); } conditionalFormat.Range.Dispose(); } ResumeEvents(); ConditionalFormats = newConditionalFormats; }