Я пытаюсь превратить шрифт в красный цвет для появления списка слов в excel. Пока я могу найти одно слово, но мне нужно найти целый массив. Я новичок в VBA и борется. До сих пор я был в состоянии найти это в качестве решения, но она имеет дело с поиском одну строку, «F1»:Форматирование списка текстовых строк в Excel
Sub test4String2color()
Dim strTest As String
Dim strLen As Integer
strTest = Range("F1")
For Each cell In Range("A1:D100")
If InStr(cell, strTest) > 0 Then
cell.Characters(InStr(cell, strTest), strLen).Font.Color = vbRed
End If
Next
End Sub
Edit:
Клетки мне нужно быть выделены элементы, перечисленные в формате, разделенном запятыми. Например, «Apple 1, Apple 3, Banana 4, Orange». Список значений для поиска находится в разных ячейках «Apple», «Banana 4». Я просто хочу выделить «Banana 4», потому что это соответствие EXACT с значениями, разделенными запятыми. В текущей формулировке текст, который гласит «Apple 1» или «Apple 4», будет частично выделен.
Edit 2:
Это фактический формат из моей книги:
«... но мне нужно искать для всего массива», что вы имеете в виду? Если я поставил 'Gotham' в' F1', он правильно подсвечивает любое обнаружение 'Gotham' в диапазоне' A1: D100' (он выделяет «Gotham» и весь текст после в ячейке). Вы говорите, что «F1» может иметь, скажем «Gotham, City, Wayne Enterprises», и вы хотите искать каждое из этих слов (разделенное запятой или каким-либо другим разделителем)? – BruceWayne
Вы на правильном пути. Вы можете сделать 'strTest' a Collection и прокрутить его для совпадений со вторым' For Loop'. Поскольку вы не используете какие-либо UDT, коллекцию можно будет легко настроить и пропустить. – Tyeler
@BruceWayne Я говорю, что хочу поискать Gotham, City, Wayne Enterprises. Но все они были бы в отдельных ячейках, а не в одной ячейке, разделенной запятыми. У меня есть список из 200 слов, каждый в другой ячейке, которую я хочу использовать в качестве условий поиска. – user6883405