有条件的,我如何自动化操作?

Conditional, How I can automate the operation?

我需要我的代码可以评估几个单元格的值,我不需要为每个答案更改单元格

我希望这个过程是自动的

我尝试使用 for,但它不起作用

Sub Test()
If Range("E5").Value <> "OK" Or Range("F5").Value <> "OK" Or Range("G5").Value <> "OK" Then
    Range("h5").Value = "NOT ACEPT"
ElseIf Range("E5").Value = "NOT OK" And Range("F5").Value = "NOT OK" And Range("G5").Value = "NOT OK" Then
    Range("H5").Value = "ACEPT"
End If
End Sub
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 "accept" 或 "not accept" 你不需要 vba 你可以只用公式完成它并将它复制到 H 列的最后一个单元格

IF(AND(UPPER(E5)="OK",UPPER(E5)="OK",UPPER(E5)="OK"),"Accept","Not Accept")

如果你需要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