选择"案例不更改所有背景并弄错条件"



晚上好, 在尝试了一些方法通过单击按钮更改多个标签的背景色属性后,我得到了这个:

Private Sub CommandButton13_Click()
Select Case Label61.Caption
Case Is <= TextBox39.Text
Label61.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label61.BackColor = &HC0FFC0
Select Case Label62.Caption
Case Is <= TextBox39.Text
Label62.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label62.BackColor = &HC0FFC0
Select Case Label63.Caption
Case Is <= TextBox39.Text
Label63.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label63.BackColor = &HC0FFC0
Select Case Label64.Caption
Case Is <= TextBox39.Text
Label64.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label64.BackColor = &HC0FFC0
Select Case Label65.Caption
Case Is <= TextBox39.Text
Label65.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label65.BackColor = &HC0FFC0
Select Case Label66.Caption
Case Is <= TextBox39.Text
Label66.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label66.BackColor = &HC0FFC0
Select Case Label67.Caption
Case Is <= TextBox39.Text
Label67.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label67.BackColor = &HC0FFC0
Select Case Label68.Caption
Case Is <= TextBox39.Text
Label68.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label68.BackColor = &HC0FFC0
Select Case Label69.Caption
Case Is <= TextBox39.Text
Label69.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label69.BackColor = &HC0FFC0
Select Case Label70.Caption
Case Is <= TextBox39.Text
Label70.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label70.BackColor = &HC0FFC0
Select Case Label71.Caption
Case Is <= TextBox39.Text
Label71.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label71.BackColor = &HC0FFC0
Select Case Label72.Caption
Case Is <= TextBox39.Text
Label72.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label72.BackColor = &HC0FFC0
Select Case Label73.Caption
Case Is <= TextBox39.Text
Label73.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label73.BackColor = &HC0FFC0
Select Case Label74.Caption
Case Is <= TextBox39.Text
Label74.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label74.BackColor = &HC0FFC0
Select Case Label75.Caption
Case Is <= TextBox39.Text
Label75.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label75.BackColor = &HC0FFC0
Select Case Label76.Caption
Case Is <= TextBox39.Text
Label76.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label76.BackColor = &HC0FFC0
Select Case Label77.Caption
Case Is <= TextBox39.Text
Label77.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label77.BackColor = &HC0FFC0
Select Case Label78.Caption
Case Is <= TextBox39.Text
Label78.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label78.BackColor = &HC0FFC0
Select Case Label79.Caption
Case Is <= TextBox39.Text
Label79.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label79.BackColor = &HC0FFC0
Select Case Label80.Caption
Case Is <= TextBox39.Text
Label80.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label80.BackColor = &HC0FFC0
Select Case Label81.Caption
Case Is <= TextBox39.Text
Label81.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label81.BackColor = &HC0FFC0
Select Case Label82.Caption
Case Is <= TextBox39.Text
Label82.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label82.BackColor = &HC0FFC0
Select Case Label83.Caption
Case Is <= TextBox39.Text
Label83.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label83.BackColor = &HC0FFC0
Select Case Label84.Caption
Case Is <= TextBox39.Text
Label84.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label84.BackColor = &HC0FFC0
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Sub

这还不是全部,我需要大约 60 个选择案例条目。我不介意一一复制和粘贴,但我遇到了两个问题: 1.到目前为止,并非所有条目都在更改背景颜色,例如6或7。不知道为什么。 2.条件有时出错,更改为不应该变的颜色,这意味着它得到了条件错误。

有什么想法吗?

您一遍又一遍地重复相同的操作,只有一个变体,因此:

Private Sub CommandButton13_Click()
Dim n As long
for n = 61 to 84 'for example
CheckValue Me.Controls("Label" & n)
Next n
End sub 

Sub CheckValue(lbl)
'might need some error handling for non-numeric values...
lbl.BackColor = IIf(CDbl(lbl.Caption) <= CDbl(TextBox39.Text), _
&HC0C0FF, &HC0FFC0)
End Sub

以防万一您无法安装橡皮鸭,这就是您的代码正确缩进时的样子。

Option Explicit
Private Sub CommandButton13_Click()
Select Case Label61.Caption
Case Is <= TextBox39.Text
Label61.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label61.BackColor = &HC0FFC0
Select Case Label62.Caption
Case Is <= TextBox39.Text
Label62.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label62.BackColor = &HC0FFC0
Select Case Label63.Caption
Case Is <= TextBox39.Text
Label63.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label63.BackColor = &HC0FFC0
Select Case Label64.Caption
Case Is <= TextBox39.Text
Label64.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label64.BackColor = &HC0FFC0
Select Case Label65.Caption
Case Is <= TextBox39.Text
Label65.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label65.BackColor = &HC0FFC0
Select Case Label66.Caption
Case Is <= TextBox39.Text
Label66.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label66.BackColor = &HC0FFC0
Select Case Label67.Caption
Case Is <= TextBox39.Text
Label67.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label67.BackColor = &HC0FFC0
Select Case Label68.Caption
Case Is <= TextBox39.Text
Label68.BackColor = &HC0C0FF
Case Is > TextBox39.Text
Label68.BackColor = &HC0FFC0
Select Case Label69.Caption
  Case Is <= TextBox39.Text
      Label69.BackColor = &HC0C0FF
  Case Is > TextBox39.Text
      Label69.BackColor = &HC0FFC0
      Select Case Label70.Caption
          Case Is <= TextBox39.Text
              Label70.BackColor = &HC0C0FF
          Case Is > TextBox39.Text
              Label70.BackColor = &HC0FFC0
              Select Case Label71.Caption
                  Case Is <= TextBox39.Text
                      Label71.BackColor = &HC0C0FF
                  Case Is > TextBox39.Text
                      Label71.BackColor = &HC0FFC0
                      Select Case Label72.Caption
                          Case Is <= TextBox39.Text
                              Label72.BackColor = &HC0C0FF
                          Case Is > TextBox39.Text
                              Label72.BackColor = &HC0FFC0
                              Select Case Label73.Caption
                                  Case Is <= TextBox39.Text
                                      Label73.BackColor = &HC0C0FF
                                  Case Is > TextBox39.Text
                                      Label73.BackColor = &HC0FFC0
                                      Select Case Label74.Caption
                                          Case Is <= TextBox39.Text
                                              Label74.BackColor = &HC0C0FF
                                          Case Is > TextBox39.Text
                                              Label74.BackColor = &HC0FFC0
                                              Select Case Label75.Caption
                                                  Case Is <= TextBox39.Text
                                                      Label75.BackColor = &HC0C0FF
                                                  Case Is > TextBox39.Text
                                                      Label75.BackColor = &HC0FFC0
                                                      Select Case Label76.Caption
                                                          Case Is <= TextBox39.Text
                                                              Label76.BackColor = &HC0C0FF
                                                          Case Is > TextBox39.Text
                                                              Label76.BackColor = &HC0FFC0
                                                              Select Case Label77.Caption
                                                                  Case Is <= TextBox39.Text
                                                                      Label77.BackColor = &HC0C0FF
                                                                  Case Is > TextBox39.Text
                                                                      Label77.BackColor = &HC0FFC0
                                                                      Select Case Label78.Caption
                                                                          Case Is <= TextBox39.Text
                                                                              Label78.BackColor = &HC0C0FF
                                                                          Case Is > TextBox39.Text
                                                                              Label78.BackColor = &HC0FFC0
                                                                              Select Case Label79.Caption
                                                                                  Case Is <= TextBox39.Text
                                                                                      Label79.BackColor = &HC0C0FF
                                                                                  Case Is > TextBox39.Text
                                                                                      Label79.BackColor = &HC0FFC0
                                                                                      Select Case Label80.Caption
                                                                                          Case Is <= TextBox39.Text
                                                                                              Label80.BackColor = &HC0C0FF
                                                                                          Case Is > TextBox39.Text
                                                                                              Label80.BackColor = &HC0FFC0
                                                                                              Select Case Label81.Caption
                                                                                                  Case Is <= TextBox39.Text
                                                                                                      Label81.BackColor = &HC0C0FF
                                                                                                  Case Is > TextBox39.Text
                                                                                                      Label81.BackColor = &HC0FFC0
                                                                                                      Select Case Label82.Caption
                                                                                                          Case Is <= TextBox39.Text
                                                                                                              Label82.BackColor = &HC0C0FF
                                                                                                          Case Is > TextBox39.Text
                                                                                                              Label82.BackColor = &HC0FFC0
                                                                                                              Select Case Label83.Caption
                                                                                                                  Case Is <= TextBox39.Text
                                                                                                                      Label83.BackColor = &HC0C0FF
                                                                                                                  Case Is > TextBox39.Text
                                                                                                                      Label83.BackColor = &HC0FFC0
                                                                                                                      Select Case Label84.Caption
                                                                                                                          Case Is <= TextBox39.Text
                                                                                                                              Label84.BackColor = &HC0C0FF
                                                                                                                          Case Is > TextBox39.Text
                                                                                                                              Label84.BackColor = &HC0FFC0
                                                                                                                      End Select
                                                                                                              End Select
                                                                                                      End Select
                                                                                              End Select
                                                                                      End Select
                                                                              End Select
                                                                      End Select
                                                              End Select
                                                      End Select
                                              End Select
                                      End Select
                              End Select
                      End Select
              End Select
      End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select
End Select

因此,您应该能够看到,只有在选择第一个选择案例的第二种情况下,才会达到 Label62,依此类推。 我怀疑您需要阅读有关如何迭代一组控件的信息,因为这会让您的生活更轻松。

最新更新