Возможный дубликат:
Как искать строку в массиве MS Access VBA
В настоящее время я работаю над макросом Excel, и я не мог найти способ сделать это
if array.contains(mystring)
Я написал следующее, и он дает мне сообщение "Invaild Qualifier" и выделяет 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) Затем Heres мой полный код
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
Nevermind, я обнаружил, что эта глупая ошибка... В любом случае, спасибо