Есть несколько способов приблизиться к этому.Вы можете определить разрешенные цвета для каждого диапазона цен в некотором скрытом вспомогательном рабочем листе, а затем сослаться на это.Захватите расходы клиента, проверьте соответствие столбцу, затем проверьте, существует ли выбранная им опция в этом столбце.Если это не так, пометьте ячейку - выделите ее или все, что вы хотите, чтобы вы делали.
+-------+-------+-------+
| 19999 | 29999 | 39999 |
+-------+-------+-------+
| black | black | black |
| | blue | blue |
| | | red |
+-------+-------+-------+
Вы также можете подходить к этому чисто в VBA, используя словари для хранения этих разрешенных опций.Затем просто переберите ключи словаря, сравнивая расходы клиентов, чтобы найти подходящее хранилище словаря.Как только вы нашли свое совпадение, возьмите значение, разделите его на массив, а затем сравните, является ли их выбранный вариант допустимым для этого диапазона расходов.
Dim options As Dictionary
Set options = New Dictionary
options.Add "19999", "black"
options.Add "29999", "black,blue"
options.Add "39999", "black,blue,red"
For Each spend In options.Keys
'if customer spend is less than the max (defined here as the key)
'then grab the value, and split it into an array
allowedChoices = Split(options.Item(spend ), ",")
' if the customers selected choice is in the array of allowed choices
If IsInArray(<the_users_choice>, allowedChoices) Then
'flag whatever, however
End If
Next spend
Это пара вариантов, которые выможно использовать, чтобы приблизиться к этому.Проявите творческий подход - удачи.