Excel VBA更改用户窗体上值的颜色
我想知道如何根据值更改值或文本框的颜色。示例:如果获取“F”我希望此值变为红色,或者用户窗体上的文本框变为红色 非常感谢你Excel VBA更改用户窗体上值的颜色,vba,excel,Vba,Excel,我想知道如何根据值更改值或文本框的颜色。示例:如果获取“F”我希望此值变为红色,或者用户窗体上的文本框变为红色 非常感谢你 Private Sub cmdAceptar_click() Dim n1 As Double, n2 As Double, n3 As Double, n4 As Double Dim promedio As Integer n1 = Val(txtn1): n2 = Val(txtn2) n3 = Val(txtn3): n4 = Val(txtn4) promed
Private Sub cmdAceptar_click()
Dim n1 As Double, n2 As Double, n3 As Double, n4 As Double
Dim promedio As Integer
n1 = Val(txtn1): n2 = Val(txtn2)
n3 = Val(txtn3): n4 = Val(txtn4)
promedio = CInt((n1 + n2 + n3 + n4) / 4)
txtPromedio = Str(promedio)
If promedio >= 90 And promedio <= 100 Then
txtPuntuacion = "A"
ElseIf promedio >= 80 And promedio <= 89 Then
txtPuntuacion = "B"
ElseIf promedio >= 70 And promedio <= 79 Then
txtPuntuacion = "C"
ElseIf promedio >= 60 And promedio <= 69 Then
txtPuntuacion = "D"
ElseIf promedio >= 0 And promedio <= 59 Then
txtPuntuacion = "F"
Else: MsgBox "Error de datos", vbCritical, "Mensaje"
End If
Private Sub-cmdaceptor\u click()
尺寸n1为双精度,n2为双精度,n3为双精度,n4为双精度
作为整数的Dim promedio
n1=Val(txtn1):n2=Val(txtn2)
n3=Val(txtn3):n4=Val(txtn4)
promedio=CInt((n1+n2+n3+n4)/4)
txtPromedio=Str(promedio)
如果promedio>=90且promedio=80且promedio=70且promedio=60且promedio=0且promedio将文本框的颜色更改为红色:
UserForm1.TextBox1.BackColor = RGB(255,0,0)
UserForm1.TextBox1.ForeColor = RGB(255,0,0)
将文本框的文本颜色更改为红色:
UserForm1.TextBox1.BackColor = RGB(255,0,0)
UserForm1.TextBox1.ForeColor = RGB(255,0,0)
更新:完整解决方案(假设文本框为txtPuntuacion):
Thx patricK但这种解决方案是永久性的,我希望如果得到某个值(如“F”)变为红色,但如果得到其他值(如“B”)保持黑色,我只是为您指出更改文本框/文本颜色的方向。为txtPuntuacion
添加另一个If
块以在黑色/红色之间切换。