Как узнать, содержит ли массив строку [дубликат]

Возможный дубликат:
Как искать строку в массиве 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

Выбор столбец

Кто-нибудь поможет?

Привет, ДжейПи. Я попробовал ваше предложение, и он сказал, что требуется объект. И выделил 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

Неважно, я нашел эту дурацкую ошибку... В любом случае, спасибо

53
задан Community 23 May 2017 в 01:54
поделиться