Функция Excel VBA для возврата истинного или ложного на основе цветов фона ячейки в диапазоне - PullRequest
4 голосов
/ 28 июля 2010

Я держу электронную таблицу своего графика на работе и когда я встречаюсь и ожидаю встретить определенные вехи. Данные (даты) хранятся слева направо, и каждый проект имеет свою собственную строку. Вехи постоянно установлены и занимают Range (O: AA). Мои данные имеют цветовую кодировку: Зеленый (Завершено), Оранжевый (Срок исполнения), Синий (Не работает), Красный (Не применимо).

То, что я хотел бы сделать, это написать функцию, которая проверила бы, содержала ли ячейка оранжевый цвет фона (индекс цвета 6), и вернула бы ИСТИНА или ЛОЖЬ, основываясь на этом. По сути, я хочу объединить все сроки по всем столбцам. В конце концов я хотел бы также включить проверку даты, чтобы видеть, какие сроки приближаются.

Function ScanForColor(Dates As Range) as Boolean
    If ScanForColor.Interior.ColorIndex = 6 Then
        ScanForColor = True
    Else
        ScanForColor = False
End Function

Я хотел бы вызвать функцию в такой ячейке, как = ScanForColor (O3: AA3), и у меня будет функция ScanForColor в столбце AB для хранения значений для фильтрации документа.

1 Ответ

8 голосов
/ 28 июля 2010

Что-то вроде этого поможет!

Function ScanForColor(Cells As Range, ColorValue As Integer) As Boolean
    Dim cell As Range
    For Each cell In Cells
        If cell.Interior.ColorIndex = ColorValue Then
            ScanForColor = True
            Exit For
        End If
    Next
End Function

Это позволит вам вызывать и тестировать различные значения цвета ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...