Можно создать дубликат:
How to search for string in MS Access VBA arrayКак найти, если массив содержит строку
В настоящее время я работаю над макро 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
Выбор столбец
кто-нибудь помочь?
Hi, JP Я попробовал ваше предложение, и он сказал, что требуется объект. И Highlightd Если 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, я обнаружил, что глупая ошибка ... Спасибо в любом случае
FYI, об этом спрашивали и отвечали [здесь] (http://stackoverflow.com/q/10951687/190829). – JimmyPena
@JP .: Да, тогда давайте закроем это как точный дубликат. –
@ Jean-FrançoisCorbett отмечен – JimmyPena