Вы не указываете, к каким форматным условиям применить форматирование.
With tbl.DataBodyRange
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:=formulaStr
.FormatConditions(.FormatConditions.Count).Interior.Color = RGB(191, 191, 191)
End With
Вы удалили все остальные .FormatConditions так законно, это можно назвать .FormatConditions (1), но когда вы добавляете .FormatConditions, он всегда последний в очереди, пока вы не сделаете что-то вроде .FormatConditions ( .FormatConditions.Count) .SetFirstPriority, который перемещает его в начало очереди.
Вы также можете использовать объект, созданный с помощью .FormatConditions.Add, для формирования вложенного блока With ... End With для правильной ссылки на несколько операций.
With tbl.DataBodyRange
.FormatConditions.Delete
with .FormatConditions.Add(Type:=xlExpression, Formula1:=formulaStr)
.Interior.Color = RGB(191, 191, 191)
.SetFirstPriority
end with
End With