Я думаю, вы ищете что-то изящное, чего, к сожалению, не существует. Я просто вижу два варианта.
Вы можете выполнить условное форматирование с тремя условиями или даже с двумя, если хотите использовать цвет ячейки по умолчанию в качестве одного из трех (например, Formula Is = (A2 / A3) <0,3, Formula Is = (A2 / A3) <0,6, или как вы хотите, чтобы ваши пороговые значения были). Вы можете применить это форматирование вручную к одной ячейке заголовка в Excel и скопировать его во все заголовки; или примените его через VBA. </p>
Или вы можете раскрасить заголовки в VBA и разместить на листе кнопку, которая вызывает код для обновления цветов.
With Range("A1")
For i = 1 To 3
colorscale = .Cells(2, i).Value / .Cells(3, i).Value
.Cells(1, i).Interior.Color = _
RGB(colorscale * 255, colorscale * 255, _
colorscale * 255) ' for example. Or pick your colors otherwise.
Next i
End With
Мне кажется, что первый вариант (условное форматирование) лучше подходит, потому что он будет автоматически обновлять цвета на основе значений ячеек. Я должен признать, однако, я не совсем понимаю, почему вы ищете что-то «чище», чем это, потому что это на самом деле очень простое решение. Два условия составляют «много правил»? Ни по какой части английского языка ...