围绕我的 select 案例创建一个循环

creating a loop around my select Case

目前,我有一个正在运行的 Select Case 声明如果一个文本框是空白的,那么它将以红色突出显示,但它似乎只突出显示其中一个文本框。例如,如果 2 个文本框留空,它只会突出显示第一个出现的文本框。

Select Case True
    Case Me.CustName = ""
    Me.CustName.BackColor = &H8080FF
    Case Me.RegAddress = ""
    Me.RegAddress.BackColor = &H8080FF
    Case Me.PostInput = ""
    Me.PostInput.BackColor = &H8080FF
    Case Me.Landline = ""
    Me.Landline.BackColor = &H8080FF
    Case Me.Contact = ""
    Me.Contact.BackColor = &H8080FF
    Case Me.DOBInput = ""
    Me.DOBInput.BackColor = &H8080FF
End Select

作为 VBA 的新手,我唯一的想法是围绕我当前的代码创建一个循环(循环直到 x、y 或 z 为 <>“”),但我似乎无法理解了解如何执行此操作。

任何建议将不胜感激。

Select Case 仅运行第一个匹配的 Case 语句之后的代码块。如果您无论如何都需要检查每个条件,则应将它们写成单独的 If 语句:

If Me.CustName   = "" Then Me.CustName.BackColor   = &H8080FF
If Me.RegAddress = "" Then Me.RegAddress.BackColor = &H8080FF
If Me.PostInput  = "" Then Me.PostInput.BackColor  = &H8080FF
....

您将 Select Case 用于错误的目的。它的目的是测试单个表达式并根据该表达式的值执行 one 分支。

您需要做的是使用 if 语句单独测试每个文本框:

If Me.CustName = "" Then Me.CustName.BackColor = &H8080FF

'etc.