(让我们先告诉大家我是一个真正的编程新手)
我需要检查combox列字段中的多个值,如下所示:
If me.cbo.Column(0) = "certain value 1" Then
If me.cbo.Column(0) = "certain value 2" Then
If me.cbo.Column(0) = "certain value 3" Then有没有什么语法可以把它放在一行代码中?还是用同样的表达方式?比如“确定值1”或“确定值2”。
或者看起来在这里行不通。
发布于 2017-11-20 22:19:21
由于无法在注释中正确显示,请使用以下语法:
If me.cbo.Column(0) = "certain value 1" OR _
me.cbo.Column(0) = "certain value 2 " OR _
me.cbo.Column(0) = "certain value 3 " OR _ ' Extend as appropriate
me.cbo.Column(0) = "certain value n " Then
'Do something
End If换行符_允许您扩展,同时仍然能够读取不同的OR条件。
发布于 2017-11-20 22:22:09
通常,您可以选择使用函数,该函数会告诉您某个值是否在给定值数组中。如下所示:
Option Explicit
Public Sub TestMe()
Dim varArr As Variant
varArr = Array("test", "me", "today", "or")
Debug.Print valueInArray("test", varArr) 'true
Debug.Print valueInArray("test2", varArr) 'false
End Sub
Public Function valueInArray(myValue As Variant, _
myArray As Variant, Optional isString As Boolean = False) As Boolean
Dim counter As Long
If isString Then
myArray = Split(myArray, ":")
End If
For counter = LBound(myArray) To UBound(myArray)
myArray(counter) = CStr(myArray(counter))
Next counter
valueInArray = Not IsError(Application.Match(CStr(myValue), myArray, 0))
End Function函数valueInArray告诉您一个值是否存在于数组中。在您的例子中,它可以像这样使用:
if valueInArray(me.cbo.Column(0), Array("certain value 1","certain value 2")) thenhttps://stackoverflow.com/questions/47393965
复制相似问题