Possible Duplicate:
How to search for string in MS Access VBA array
我目前正在处理 Excel 宏,但找不到类似的方法
if array.contains(mystring)
我写了以下内容,它给了我消息“无效限定符”并突出显示 Mainfram
就在If
之后
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 我尝试了你的建议,它说需要对象。并强调了 如果 IsInArray(cell.Text, Mainfram) 那么 这是我的完整代码
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
没关系,我发现了那个愚蠢的错误...... 还是谢谢你了
最佳答案
使用 my answer 中的代码一个非常相似的问题:
Sub DoSomething()
Dim Mainfram(4) As String
Dim cell As Excel.Range
Mainfram(0) = "apple"
Mainfram(1) = "pear"
Mainfram(2) = "orange"
Mainfram(3) = "fruit"
For Each cell In Selection
If IsInArray(cell.Value, MainFram) Then
Row(cell.Row).Style = "Accent1"
End If
Next cell
End Sub
Function IsInArray(stringToBeFound As String, arr As Variant) As Boolean
IsInArray = (UBound(Filter(arr, stringToBeFound)) > -1)
End Function
关于arrays - 如何判断一个数组是否包含一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11109832/