朋友!看以下代码能不能再化简。帮帮我。

2025-05-09 05:13:30
推荐回答(1个)
回答1:

首先
你确定代码没有打错吗?
如果没有错的话
很明显这段代码是没有意义的
.
在你代码中“Range("b" & l & ":e" & l)”
有变量“l”(不是数字1)
但是没有赋值
按VBA默认就是:""
所以“Range("b" & l & ":e" & l)”
就可以写成“Range("b:e")”
这与循环变量“I”无关
所以可以放在for循环之前
简化如下
Sub 判断_Click()
If Application.CountIf(Range("b:e"), 5) or Application.CountIf(Range("b:e"), 8) or Application.CountIf(Range("b:e"), 10) Then
For I = Range("A100000").End(xlUp).Row To 3 Step -1
Range("f" & I) = "优秀"
Next
End If
End Sub