Макрос, который выделяет ячейки, в которых есть совпадение
Что делает макрос?
- Запрашивает диапазон для проверки.
- Запрашивает слово для поиска в ячейках.
- Запрашивает цвет для выделения ячейки, если слово найдено.
- Проверяет каждую ячейку в диапазоне — если слово найдено (частичное совпадение), то выделяет ячейку выбранным цветом.
Код макроса для работы в Excel:
Sub HighlightCellsByWordAndColor()
Dim rng As Range
Dim cell As Range
Dim searchWord As String
Dim colorChoice As Variant
Dim colorIndex As Long
' Шаг 1: Выбор диапазона
On Error Resume Next
Set rng = Application.InputBox("Выберите диапазон для проверки", "Выбор диапазона", Selection.Address, Type:=8)
If rng Is Nothing Then Exit Sub
On Error GoTo 0
' Шаг 2: Ввод слова для поиска
searchWord = InputBox("Введите слово или часть слова для поиска", "Слово для поиска")
If searchWord = "" Then Exit Sub
' Шаг 3: Выбор цвета для выделения
colorChoice = Application.InputBox( _
"Введите номер цвета для выделения:" & vbCrLf & _
"1 - Желтый" & vbCrLf & _
"2 - Зеленый" & vbCrLf & _
"3 - Красный" & vbCrLf & _
"4 - Голубой" & vbCrLf & _
"5 - Фиолетовый" & vbCrLf & _
"6 - Оранжевый", "Выбор цвета", 1, Type:=1)
If colorChoice < 1 Or colorChoice > 6 Then Exit Sub
Select Case colorChoice
Case 1: colorIndex = vbYellow
Case 2: colorIndex = vbGreen
Case 3: colorIndex = vbRed
Case 4: colorIndex = vbCyan
Case 5: colorIndex = vbMagenta
Case 6: colorIndex = RGB(255, 165, 0) ' Оранжевый
End Select
' Шаг 4: Проверка и выделение ячеек
For Each cell In rng
If InStr(1, cell.Value, searchWord, vbTextCompare) > 0 Then
cell.Interior.Color = colorIndex
End If
Next cell
MsgBox "Готово! Ячейки выделены."
End Sub
Пример использования:
Есть таблица и по поисковому слову "моск" нам необходимо выделить ячейки
1. Используем мой макрос (он выше)
2. Выполнить
3. Выбираем диапазон проверки, где необходимо проверить совпадение
4. Вводим то слово или часть слова, которое мы хотим искать в нашем диапазоне. Для примера "моск" и жмем "Ок"
5. Выбираем цвет, которым мы хотит выделить наше совпадение и жмем "Ок"
6. Готово, теперь можно сэкономить кучу времени.
Начать дискуссию