其他情况未到达。
Private Sub nM03KG_AfterUpdate()
Select Case nVcap03
Case Is < 80
Me.nVcap03.BackColor = vbRed
Me.nVcap03.ForeColor = vbWhite
Case Is > 80 < 90
Me.nVcap03.BackColor = RGB(255, 194, 14)
Me.nVcap03.ForeColor = RGB(47, 54, 153)
Case Else
Me.nVcap03.BackColor = RGB(205, 220, 175)
Me.nVcap03.ForeColor = RGB(47, 54, 153)
End Select
End Sub
前 2 个案例选项没有问题,但是! “Case Else”永远不会达到。 如果我输入 11,000,这应该代表 > 90% 的容量,这是将字段颜色更改为绿色、前色为蓝色的触发点。
这不是在 case 语句中表达范围的方式。
Case Is
接受一个表达式列表,如果有一个为真,则执行该情况下的语句。
这意味着
Case Is > 80 < 90
将成为所有高于 80 或低于 90 的数字的选定情况,因此实际上是所有数字。
要么依赖之前的表达式(已经过滤掉 80 以下的数字),要么在
To
中使用
Case
关键字
所以要么
Select Case nVcap03
Case Is < 80
Me.nVcap03.BackColor = vbRed
Me.nVcap03.ForeColor = vbWhite
Case Is < 90
Me.nVcap03.BackColor = RGB(255, 194, 14)
Me.nVcap03.ForeColor = RGB(47, 54, 153)
Case Else
Me.nVcap03.BackColor = RGB(205, 220, 175)
Me.nVcap03.ForeColor = RGB(47, 54, 153)
End Select
或者
Select Case nVcap03
Case Is < 80
Me.nVcap03.BackColor = vbRed
Me.nVcap03.ForeColor = vbWhite
Case 80 To 90
Me.nVcap03.BackColor = RGB(255, 194, 14)
Me.nVcap03.ForeColor = RGB(47, 54, 153)
Case Else
Me.nVcap03.BackColor = RGB(205, 220, 175)
Me.nVcap03.ForeColor = RGB(47, 54, 153)
End Select
请注意,在第二种情况下,第二个选项包括 90,而第一个选项则不包括。