Я новичок в vba и пытаюсь автоматизировать анализ данных. В исходных данных я отформатировал ячейки, чтобы выделить те из них, которые находятся между двумя критериями пользовательского ввода. Теперь мне нужно найти строки, где выделены все ячейки в этой строке. Я попробовал следующее. Простите форматирование я на мобильном телефоне.
Sub Hold()
Dim cell as range
Dim rowdata as range
Dim s as long
Dim rc as long
Dim n as Boolean
rc = range("C10", range("C10").end(xldown)).rows.count
For s = 0 to rc
Set rowdata = range("C10", range("C10").end(xltoright)).offset(s , 0)
For each cell in RowData
If cell.interior.color <> 11389944 Then
n = false
Exit for
End if
Next cell
If n = false then
Rowdata.font.color = rgbred
Else
Rowdata.font.color = rgbgreen
End if
Next s
End Sub
Я искал вручную, чтобы найти строку, в которой все ячейки выделены внутри строки. После отладки я ожидал, что шрифт изменится на зеленый. Это не так. Я заметил, что второй оператор if
имеет n = false
, хотя я ожидал, что он будет правдой, поскольку в этой строке cell.interior.color = 11389944
. Что мне здесь не хватает?