Цвет ячейки изменяется при изменении значения - PullRequest
0 голосов
/ 09 ноября 2018

введите описание изображения здесь

Я работаю над программой VBA. Я создал функцию, которая подсчитывает количество предметов, которые соответствуют определенному результату (размер «Большой» и пищевой «Овощной»). Функция помогает подсчитать количество элементов, которые соответствуют требованию, и изменяется, когда я фильтрую по классу (например, у p1 есть 1 овощ, он показывает 1).

Function Count_items_Small_Veg() As Long

Dim i As Long
Dim r As Range
Dim wsCheck As Worksheet
Dim n As Integer
    Application.Volatile
    Set wsCheck = Application.Caller.Parent
    For Each r In wsCheck.AutoFilter.Range.Columns(Col_Western).Cells
        If wsCheck.Cells(r.Row, Col_Starter) = "S" And _
                wsCheck.Cells(r.Row, Col_Dessert) = "VEGETARIAN" And r.EntireRow.Hidden = False Then
            i = i + 1
        End If
    Next r
    Count_items_Small_Veg = i

End Function

Я хочу, чтобы программа изменила ячейку, в которой значение числа было серым, когда оно достигает нуля, когда я фильтрую результат. Например, я фильтрую в соответствии с P2 и 0 ордерами для Large Veg. Должно быть серым

Серая ячейка - желаемый результат, когда значение ячейки равно 0

Private Sub Worksheet_Change(ByVal Target As Range)

Dim ChangeRng As Range

Set ChangeRng = ActiveSheet.Range("A5:G6")

Application.Volatile
For Each cell In ChangRng
If cell.Value = 0 Then
cell.Interior.ColorIndex = 16
End If

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