围绕我的 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.
目前,我有一个正在运行的 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.