Sub test()
If WorksheetFunction.Or(UCase(Range("E5")) <> "OK", UCase(Range("F5")) <> "OK", UCase(Range("G5")) <> "OK") Then
Range("h5").Value = "NOT ACCEPT"
Else
Range("H5").Value = "ACCEPT"
End If
End Sub
Если вы просто хотите, чтобы ячейка H5 «принимала» или «не принимала», вам не нужен vba, вы можете просто сделать это с формулой и скопировать ее до последней ячейки в столбце H
IF (И (ВЕРХ (E5) = "ОК", ВЕРХ (E5) = "ОК", ВЕРХ (E5) = "ОК"), "Принять", "Не принимать")
, если вам нужен vba затем измените приведенный выше код, чтобы он соответствовал вашим требованиям о нескольких строках в столбце H
Sub test()
Dim lastrow, cell As Range
lastrow = Cells(1048576, 7).End(xlUp).Row
' not fill the formula from H5 to the last row
For Each cell In Range("H5:H" & lastrow)
If WorksheetFunction.Or(UCase(cell.Offset(0, -3)) <> "OK", UCase(cell.Offset(0, -2)) <> "OK", UCase(cell.Offset(0, -1)) <> "OK") Then
cell = "NOT ACCEPT"
Else
cell = "ACCEPT"
End If
Next
End Sub