So finden Sie heraus, ob ein Array eine Zeichenfolge enthält [duplizieren]

Mögliche Duplikate:
So suchen Sie nach einer Zeichenfolge in einem MS Access VBA-Array

Ich arbeite derzeit an einem Excel-Makro, und ich konnte keine Möglichkeit finden, dies zu tunif array.contains(mystring)

Ich habe folgendes geschrieben, und es gibt mir die Meldung "Invaild Qualifier" und hebt das hervorMainfram gleich nachIf

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

Die Auswahl ist eine Spalte

Jemand helfen?

Hallo, JP, ich habe deinen Vorschlag ausprobiert und es stand Objekt erforderlich. Und hebt das hervorIf IsInArray (cell.Text, Mainfram) Then Hier ist mein vollständiger Code

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

Egal, ich fand diesen dummen Fehler ... Trotzdem danke

Antworten auf die Frage(4)

Ihre Antwort auf die Frage