|
![](https://clubstatic.excelhome.net/image/common/ico_lz.png)
楼主 |
发表于 2017-10-22 10:24
|
显示全部楼层
20171022
http://club.excelhome.net/thread-1375080-1-1.html
求多条件复杂判断VBA解决方案
Sub Adele()
With Sheets("Sheet1")
arr = .Range("a1").CurrentRegion
For x = 2 To UBound(arr)
If arr(x, 4) > 30 Then
If arr(x, 1) = "db111" Or arr(x, 1) = "db411" And arr(x, 3) > 25 Then
arr(x, 5) = "合格"
ElseIf arr(x, 1) = "db211" And arr(x, 3) > 5 Then
arr(x, 5) = "合格"
ElseIf arr(x, 1) = "db311" And arr(x, 3) > 0.5 Then
arr(x, 5) = "合格"
ElseIf arr(x, 1) = "db511" And arr(x, 3) > 30 Then
arr(x, 5) = "合格"
ElseIf arr(x, 1) = "db611" And arr(x, 3) > 15 Then
arr(x, 5) = "合格"
Else
arr(x, 5) = "不合格"
End If
Else
If arr(x, 1) = "db111" Or arr(x, 1) = "db411" And arr(x, 3) > 400 Then
arr(x, 5) = "合格"
ElseIf arr(x, 1) = "db211" And arr(x, 3) > 40 Then
arr(x, 5) = "合格"
ElseIf arr(x, 1) = "db311" And arr(x, 3) > 30 Then
arr(x, 5) = "合格"
ElseIf arr(x, 1) = "db511" And arr(x, 3) > 500 Then
arr(x, 5) = "合格"
ElseIf arr(x, 1) = "db611" And arr(x, 3) > 100 Then
arr(x, 5) = "合格"
Else
arr(x, 5) = "不合格"
End If
End If
Next
.[e1].Resize(UBound(arr)) = Application.Index(arr, , 5)
End With
End Sub |
|