首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Select Case not Case backgrounds和not错误

Select Case not Case backgrounds和not错误
EN

Stack Overflow用户
提问于 2019-10-05 10:21:31
回答 2查看 72关注 0票数 0

晚上好,在尝试了一些方法来更改多个标签的Backcolor属性后,只需单击一个按钮,我得到了以下结果:

代码语言:javascript
复制
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个条目的Select Case。我不介意一个接一个地复制和粘贴,但我遇到了两个问题: 1.到目前为止,并不是所有的条目都改变了背景颜色,只有像6或7这样的条目。不知道为什么。2.条件条件有时会出错,更改为不应该出现的颜色,这意味着它的条件错误。

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2019-10-05 11:13:53

您一遍又一遍地重复相同的操作,只有一种变化,所以:

代码语言:javascript
复制
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
票数 2
EN

Stack Overflow用户

发布于 2019-10-05 10:49:53

以防你不能安装Rubber duck,这就是你的代码在适当缩进时的样子。

代码语言:javascript
复制
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,依此类推。我怀疑你需要阅读关于如何迭代一组控件的知识,因为这会让你的生活变得更容易。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58244860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档