Я пишу макрос, который проверяет листы данных на несколько лет, чтобы найти специально окрашенные ячейки. К сожалению, люди сосут и не всегда выбирали один и тот же цвет клеток на протяжении многих лет (все они могут быть одинаковыми для человеческого глаза, но имеют разные значения RGB).Создайте вектор цвета в VBA
Если у меня есть ячейка с внутренним цветом RGB (255,23,50), есть ли способ создать цветной вектор, чтобы увидеть, если на него падает цвет интерьера салона? Я хочу создать вектор с +/- 15 точками RGB, поэтому, если я ищу ячейки с RGB (255,23,50), я хочу вектор между RGB (255,38,65) и RGB (240,8 , 35).
Я знаю, что могу просто использовать оператор IF, чтобы увидеть, падает ли цвет между этими двумя значениями, но если бы я мог создать вектор цвета, я мог бы использовать его для большего количества приложений (и код будет легче модифицировать, если его нужно было изменить).
Это если оператор работает:
If ActiveWorkbook.Worksheets("Sheet1").Range("e5").Interior.Color >= RGB(240, 8, 35) And ActiveWorkbook.Worksheets("Sheet1").Range("e5").Interior.Color <= RGB(255, 38, 65) Then
MsgBox ("yes")
Else
MsgBox ("no")
End If
Но я ищу что-то более по линиям:
dim redVector as long ' or other appropriate variable type
' ***** code that defines the red vector *****
if range("e5").interior.color = redVector then
' do stuff
end if
Одна идея будет цикл от 1 до 255 для каждого r, g и b, преобразовать их в long и проверить корреляцию в изменении значения. – cyboashu