Я пытаюсь перебрать строки в листе, чтобы найти ненулевое значение в столбце 11, а затем выделить всю строку.Я нашел примеры этого на этом сайте, но когда я пытаюсь эмулировать эти примеры, я получаю ошибку #VALUE, возвращающуюся из функции.
Код выглядит следующим образом:
Function HighlightRows() As Long
Dim c As Long
Dim i As Long
Dim w As Worksheet
Set w = ThisWorkbook.Worksheets("Sheet1")
c = 0
For i = 2 To w.UsedRange.Rows.Count
If w.Cells(i, 11).Value = 1 Then
c = c + 1
w.Rows(i).Interior.ColorIndex = 3
End If
Next i
HighlightRows = c
End Function
Когда я закомментирую код, который пытается установить свойство Interior.ColorIndex кода, кажется, что все работает правильно, и я получаю соответствующее количество, возвращаемое функцией (за исключением, конечно, того, что я не получаю выделение).
Я также попробовал следующее:
- w.Cells (i, 11) .EntireRow.Interior.ColorIndex = 3
- w.Range ("B"& i & ": O" & i) .Interior.ColorIndex = 3
- w.Range (ячейки (i, 2), ячейки (i, 15)). Interior.ColorIndex = 3
Чего мне не хватает?