可能是重复问题:
如何在MS Access VBA数组中搜索字符串
我目前正在编写一个Excel宏,但找不到像if array.contains(mystring)
这样的方法。
我写了下面的代码,但它给出了“无效限定符”的消息,并在If
后面高亮显示了Mainfram
。
Dim Mainfram(4) As String
Mainfram(0) = "apple"
Mainfram(1) = "pear"
Mainfram(2) = "orange"
Mainfram(3) = "fruit"
For Each cel In Selection
If Mainfram.Contains(cel.Text) Then
Row(cel.Row).Style = "Accent1"
End If
Next cel
选择是一列。有人能帮忙吗?
嗨,JP 我尝试了你的建议,但它说对象必需。并且突出显示了 If IsInArray(cell.Text, Mainfram) Then 这是我的完整代码。
Sub changeRowColor()
Columns("B:B").Select
Dim cel As Excel.Range
Dim Mainfram(4) As String
Mainfram(0) = "apple"
Mainfram(1) = "pear"
Mainfram(2) = "orange"
Mainfram(3) = "Banana"
For Each cel In Selection
If IsInArray(cell.Value, Mainfram) Then
Rows(cel.Row).Style = "Accent1"
End If
Next cel
End Sub
Function IsInArray(stringToBeFound As String, arr As Variant) As Boolean
IsInArray = (UBound(Filter(arr, stringToBeFound)) > -1)
End Function
算了,我发现那个愚蠢的错误了... 无论如何还是谢谢你。
Apple
,Pen
,Pineapple
等等。 :D - Black