Выделить текст в ячейке excel vba

Выделение заданного фрагмента текста в ячейке

igrtsk

Дата: Пятница, 29.11.2013, 10:11 |
Сообщение № 1

Группа: Проверенные

Ранг: Обитатель

Сообщений: 307


Репутация:

50

±

Замечаний:
0% ±


Excel 2016

Доброго времени суток всем форумчанам!
Подскажите, как используя макрос (или другие инструменты excel) сделать выделенным определенный текст из всего написанного в ячейке. При условии, что данный фрагмент, который необходимо выделить, может находиться на любой позиции с точки зрения привязки к порядковому номеру символа.

К сообщению приложен файл:

5571846.xls
(44.5 Kb)


Инструктор по применению лосей в кавалерийских частях РККА

 

Ответить

nilem

Дата: Пятница, 29.11.2013, 10:42 |
Сообщение № 2

Группа: Авторы

Ранг: Старожил

Сообщений: 1612


Репутация:

563

±

Замечаний:
0% ±


Excel 2013, 2016

igrtsk, привет
можно, например, так
[vba]

Код

Sub ertert()
Dim s$, r As Range, i&, j&
s = Range(«E3»).Value: j = Len(s)
With Range(«C1», Cells(Rows.Count, 3).End(xlUp))
      .Font.Bold = False
      For Each r In .Cells
          i = InStr(r, s)
          If i Then r.Characters(i, j).Font.Bold = True
      Next
End With
End Sub

[/vba]
в файле пишем нужное слово в яч. Е3 и нажимаем зел. кнопку

ПС ну как там лоси поживают? :)

К сообщению приложен файл:

_5571846.xls
(43.5 Kb)


Яндекс.Деньги 4100159601573

Сообщение отредактировал nilemПятница, 29.11.2013, 10:43

 

Ответить

igrtsk

Дата: Пятница, 29.11.2013, 10:58 |
Сообщение № 3

Группа: Проверенные

Ранг: Обитатель

Сообщений: 307


Репутация:

50

±

Замечаний:
0% ±


Excel 2016


Спасибо!
Интересный вариант. Надо его осмыслить.

P.S. Лоси в порядке. Передают привет! :D


Инструктор по применению лосей в кавалерийских частях РККА

 

Ответить

Саня

Дата: Пятница, 29.11.2013, 11:08 |
Сообщение № 4

Группа: Друзья

Ранг: Ветеран

Сообщений: 1067


Репутация:

560

±

Замечаний:
0% ±


XL 2016

не успел, но все же

Выделяем ячейки и выполняем проц. DoIt:
[vba]

Код

Option Explicit
Private mavPunct()

Sub DoIt()
       mavPunct = Array(» «, «,», «.», «;», «:», «!»)
       ‘ символы, к-рые могут идти после искомого слова _
         нужно, чтобы искть ТОЛЬКО целые слова

       Dim c As Range
       For Each c In Selection
           BoldWord c, «украл»
       Next c
End Sub

‘=================================================================
Sub BoldWord(rngIn As Range, sWord As String)
       Dim lPos As Long
       lPos = 1

       Dim lLen As Long
       lLen = Len(sWord)

       Dim sLS As String
       Do
           lPos = InStr(lPos, rngIn.Value, sWord)
           If lPos = 0 Then Exit Do

           sLS = Mid$(rngIn.Value, lPos + lLen, 1)
           If bSymbolIsValid(sLS) Then
               rngIn.Characters(lPos, lLen).Font.Bold = True
           End If

           lPos = lPos + lLen
       Loop
End Sub

Function bSymbolIsValid(sS As String) As Boolean
       Dim i As Integer
       For i = LBound(mavPunct) To UBound(mavPunct)
           If sS = mavPunct(i) Then
               bSymbolIsValid = True
               Exit For
           End If
       Next i
End Function
‘=================================================================

[/vba]

 

Ответить

igrtsk

Дата: Пятница, 29.11.2013, 12:11 |
Сообщение № 5

Группа: Проверенные

Ранг: Обитатель

Сообщений: 307


Репутация:

50

±

Замечаний:
0% ±


Excel 2016


Успел! Успел!
Ваш вариант мне больше подходит.
Действительно, в моем случае рассматриваются только целые слова, и разнообразие слов (словосочетаний), которые необходимо выделять — невелико.
Спасибо!


Инструктор по применению лосей в кавалерийских частях РККА

 

Ответить

Как выделить определенный текст в ячейке на основе другого текста?

В Excel нам может быть легко выделить ячейки на основе определенного текста, но здесь я хочу выделить определенный текст в ячейке, чтобы сделать его выдающимся, но не всю ячейку. Для большинства из нас это, возможно, неприятно. В этой статье я расскажу о некоторых хитростях для решения этой задачи в Excel.


Выделите один или несколько конкретных текстов в нескольких ячейках с кодом VBA

Например, у меня есть ряд текстовых строк, и теперь я хочу выделить конкретный текст «Небо”В этих ячейках, чтобы получить результат, как показано на следующих снимках экрана:

Чтобы выделить только часть текста в ячейке, вам может помочь следующий код VBA.

1. Выберите ячейки, в которых вы хотите выделить конкретный текст, а затем удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Код VBA: выделите часть текста в ячейке:

Sub HighlightStrings()
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim Rng As Range
Dim cFnd As String
Dim xTmp As String
Dim x As Long
Dim m As Long
Dim y As Long
cFnd = InputBox("Enter the text string to highlight")
y = Len(cFnd)
For Each Rng In Selection
  With Rng
    m = UBound(Split(Rng.Value, cFnd))
    If m > 0 Then
      xTmp = ""
      For x = 0 To m - 1
        xTmp = xTmp & Split(Rng.Value, cFnd)(x)
        .Characters(Start:=Len(xTmp) + 1, Length:=y).Font.ColorIndex = 3
        xTmp = xTmp & cFnd
      Next
    End If
  End With
Next Rng
Application.ScreenUpdating = True
End Sub

3, Затем нажмите F5 нажмите клавишу для запуска этого кода, и появится окно подсказки, напоминающее вам ввести текст, который вы хотите только выделить, см. снимок экрана:

4, Затем нажмите OK , весь указанный вами текст был выделен только внутри ячеек, см. снимок экрана:

Tips: Если вам нужно выделить несколько ключевых слов из текстовых строк, примените приведенный ниже код:
Код VBA: выделите несколько ключевых слов из текстовых строк:

Sub HighlightStrings()
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim Rng As Range
Dim cFnd As String
Dim xTmp As String
Dim x As Long
Dim m As Long
Dim y As Long
Dim xFNum As Integer
Dim xArrFnd As Variant
Dim xStr As String
cFnd = InputBox("Please enter the text, separate them by comma:")
If Len(cFnd) < 1 Then Exit Sub
xArrFnd = Split(cFnd, ",")
For Each Rng In Selection
With Rng
For xFNum = 0 To UBound(xArrFnd)
xStr = xArrFnd(xFNum)
y = Len(xStr)
m = UBound(Split(Rng.Value, xStr))
If m > 0 Then
xTmp = ""
For x = 0 To m - 1
xTmp = xTmp & Split(Rng.Value, xStr)(x)
.Characters(Start:=Len(xTmp) + 1, Length:=y).Font.ColorIndex = 3
xTmp = xTmp & xStr
Next
End If
Next xFNum
End With
Next Rng
Application.ScreenUpdating = True
End Sub

Затем во всплывающем окне введите ключевые слова, которые вы хотите выделить (разделите слова запятыми), см. Снимок экрана:

А затем нажмите OK кнопки, указанные слова были выделены сразу, см. скриншоты:

Внимание: Приведенные выше коды чувствительны к регистру.


Выделите один или несколько конкретных текстов в нескольких ячейках с помощью удивительной функции

Если вы не знакомы с кодом в Excel, здесь я представлю простой инструмент — Kutools for Excel, С его Отметить ключевое слово вы можете выделить одно или несколько ключевых слов сразу в ячейках.

Примечание:Чтобы применить эти Отметить ключевое слово функции, во-первых, вы должны скачать Kutools for Excel, а затем быстро и легко примените функции.

После установки Kutools for Excel, пожалуйста, сделайте следующее:

1. Нажмите Кутулс > Текст > Отметить ключевое слово, см. снимок экрана:

2. В Отметить ключевое слово диалоговом окне выполните следующие действия:

  • Выберите диапазон данных, который вы хотите использовать, из Диапазон текстовое окно;
  • Выберите ячейки, содержащие ключевые слова, которые вы хотите выделить, вы также можете ввести ключевые слова вручную (через запятую) в поле Ключевое слово текстовое поле.
  • Наконец, вы должны указать цвет шрифта для выделения текста галочкой Отметить цвета ключевых слов вариант. (Чтобы раскрасить все ячейки, содержащие ключевые слова, выберите Отметьте цвета содержимого ячейки опция)

3, Затем нажмите Ok кнопки, все указанные тексты были выделены, как показано ниже:

Внимание: Эта функция не чувствительна к регистру, если вы хотите выделить текст с учетом регистра, установите флажок С учетом регистра в Отметить ключевое слово диалоговое окно.


Выделите определенный текст в ячейке на основе другого текста с помощью кода VBA

Вот еще одна ситуация, у меня есть два столбца, первый столбец которых содержит текстовые строки, а второй столбец — это конкретный текст, теперь мне нужно выделить относительный текст в первом столбце на основе определенного текста во втором столбце для каждого ряд.

1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Код VBA: выделение части текста в ячейке на основе другого текста:

Sub highlight()
'Updateby Extendoffice
    Dim xStr As String
    Dim xRg As Range
    Dim xTxt As String
    Dim xCell As Range
    Dim xChar As String
    Dim I As Long
    Dim J As Long
    On Error Resume Next
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
LInput:
    Set xRg = Application.InputBox("please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Areas.Count > 1 Then
        MsgBox "not support multiple columns"
        GoTo LInput
    End If
    If xRg.Columns.Count <> 2 Then
        MsgBox "the selected range can only contain two columns "
        GoTo LInput
    End If
    For I = 0 To xRg.Rows.Count - 1
        xStr = xRg.Range("B1").Offset(I, 0).Value
        With xRg.Range("A1").Offset(I, 0)
            .Font.ColorIndex = 1
            For J = 1 To Len(.Text)
                If Mid(.Text, J, Len(xStr)) = xStr Then .Characters(J, Len(xStr)).Font.ColorIndex = 3
            Next
        End With
    Next I
End Sub

3. После вставки кода нажмите F5 нажмите кнопку для его запуска, появится окно подсказки, напоминающее вам о выборе диапазона данных, который содержит текстовую строку и конкретный текст, который вы хотите выделить и на основе которого, см. снимок экрана:

4, Затем нажмите OK , весь соответствующий текст в первом столбце, основанный на конкретном тексте во втором столбце, был окрашен в красный цвет, как показано на следующем снимке экрана:


Больше относительных статей:

  • Полужирный текст части при объединении двух столбцов в Excel
  • На листе Excel после объединения двух значений ячеек с формулами вы можете обнаружить, что часть текста в объединенной ячейке формулы не будет выделена жирным шрифтом. Иногда это может раздражать, как вы можете выделить текст жирным шрифтом при объединении двух столбцов в Excel?
  • Объедините столбцы ячеек и сохраните цвет текста в Excel
  • Как все мы знаем, при конкатенации или объединении столбцов ячеек в один столбец форматирование ячеек (например, цвет шрифта текста, форматирование чисел и т. Д.) Будет потеряно. В этой статье я расскажу о некоторых хитростях, позволяющих объединить столбцы ячеек в один и максимально упростить сохранение цвета текста в Excel.
  • Отображение определенного текста на основе значений в другом столбце
  • Предположим, у меня есть список чисел, теперь я хочу отобразить какой-то конкретный текст в другом столбце на основе номеров этого столбца. Например, если номер ячейки находится в диапазоне от 1 до 100, я хочу, чтобы текст «Уменьшить» отображался в соседней ячейке, если номер находится в диапазоне от 101 до 200, отображается текст «Стабильный», а если число больше 200 , отображается текст «Увеличение», как показано на следующем снимке экрана. Для решения этой задачи в Excel вам могут помочь следующие формулы из этой статьи.
  • Сумма ячеек с текстом и числами в Excel
  • Например, у меня есть список значений, содержащих числовые и текстовые строки, теперь я хочу суммировать только числа на основе одного и того же текста, посмотрите на следующий снимок экрана. Обычно вы не можете напрямую суммировать значения в списке с помощью текстовой строки, здесь я представлю вам несколько формул для решения этой задачи.

Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

I am wrote a macro that checks for changes to certain cells. If the new value in a cell doesn’t meet certain criteria, it enters the cell in edit mode and selects all text in that cell using keyboard shortcuts:

Application.SendKeys ("{HOME}+{END}")

This always enters edit mode, but often fails to select the text. I’m looking for something more reliable. Any ideas?

Here’s the entire macro:

Private Sub Worksheet_Change(ByVal Target As Range)

' -------------------------------
' Only run the macro if a single cell is selected
    If Target.Cells.CountLarge > 1 Then Exit Sub

' -------------------------------
' Declare variables
    Dim cell As Range
    Dim AccountToFind As String

' -------------------------------
' Assign values to shared variables
    AccountToFind = Target.Value

' -------------------------------
' Validate change in HEADER, column D
    If Not Intersect(Target, Target.Worksheet.Range("D:D")) Is Nothing And Target.Value <> "" Then

        For Each cell In Sheets("_coding references").Range("AccountsPayable[NAME]")
            If cell.Value = AccountToFind Then Exit Sub  ' passed validation
        Next cell

        Target.Select

        MsgBox ("'" & AccountToFind & "'" & vbNewLine & vbNewLine & "This is not a listed A/P account!")

' --------------------------------------------------------------
' --------------------------------------------------------------
' HERE'S THE PROBLEMATIC CODE
' --------------------------------------------------------------
            Application.SendKeys ("{F2}{HOME}+{END}")
' --------------------------------------------------------------
' --------------------------------------------------------------
' --------------------------------------------------------------
    End If
End Sub

Community's user avatar

asked Aug 17, 2016 at 20:12

ChrisB's user avatar

Sadly, there is no way to catch this event. Your only way to go is «sending keys,» and since all of them have to be pressed at the same time, this is the best workaround -to my knowledge- that you can do: either use sleep or wait function.

Application.SendKeys ("{F2}{HOME}")
Application.Wait Now + TimeValue("00:00:01")
Application.SendKeys ("+{END}")

Explanation

Sending keys relies on the processor speed, so it will always be variable. Even if the code is well written, you have to consider some time to let it «press» -virtually- all the keys at the same time.

Ariel's user avatar

answered Aug 17, 2016 at 21:32

Sgdva's user avatar

SgdvaSgdva

2,7453 gold badges17 silver badges28 bronze badges

1

astera

0 / 0 / 0

Регистрация: 16.11.2012

Сообщений: 3

1

Как выделить отдельные слова в ячейке

16.11.2012, 18:06. Показов 3437. Ответов 4

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Прошу помочь с программой.
В определенном столбце выводятся построчно данные по заявкам, в каждой строке может быть несколько заявок. Требуется, чтобы в каждой ячейке выделялось определенное слово, например, «Горящая» и окрашивалась в цвет, отличный от остального текста. То что приведено ниже окрашивает весь текст в ячейке

Спасибо!!!

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Sub brands()
Application.EnableCancelKey = xlDisabled
 
...
    While .Cells(j, 2) <> 0  
        t = 0
        t = InStr(.Cells(j, 5), Xarr(i - 1))
        If t <> 0 Then
            If .Cells(j, 24) = "СПб"  Then
                  
                    X1 = .Cells(j, 2)
                    X2 = .Cells(j, 5)
                    X3 = .Cells(j, 43)
                    X4 = .Cells(j, 44)
               If .Cells(j, 43) = "Горящая" Or .Cells(j, 43) = "В работе" Then
                       X1.Font.ColorIndex = 3
                        X3.Font.ColorIndex = 3
                       X4.Font.ColorIndex = 3
               End If
           A1(i - 1) = A1(i - 1) & " " & X1 & " " & X2 & " " & X3 & " " & X4 & vbCrLf
      End If
 j = j + 1
   Wend
    Worksheets("Brands").Cells(i, 6) = A1(i - 1)
    Worksheets("Brands").Cells(i, 7) = A2(i - 1)
    Worksheets("Brands").Cells(i, 8) = A3(i - 1)
 Next i
 End With
 End Sub



0



Romas654

117 / 31 / 2

Регистрация: 16.11.2012

Сообщений: 65

16.11.2012, 19:09

2

Держи. В приложении то же самое с несколькими строками на листе

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Function Set_Color(Str As Range, FStr As String)
Dim st As Long
st = 1
    Do While InStr(st, LCase(Str), LCase(FStr)) > 0 ' пока есть такое слово
    Str.Characters(Start:=InStr(st, Str, FStr), Length:=Len(FStr)).Font.Color = vbRed ' красим
    st = InStr(st, Str, FStr) + 1 ' очередная стартовая позиция
    Loop
 
End Function
 
Sub runme() ' запуск обработки
 
Dim Repl_Str As String, x As Long
x = 1
 
Repl_Str = "горящая" ' что перекрашивать
 
With ThisWorkbook.Sheets("Лист1")
    Do While .Cells(x, 1) <> ""
    Call Set_Color(.Cells(x, 1), Repl_Str)
    x = x + 1
    Loop
End With
 
End Sub

Вложения

Тип файла: xls замена цвета.xls (40.0 Кб, 34 просмотров)



1



0 / 0 / 0

Регистрация: 16.11.2012

Сообщений: 3

17.11.2012, 02:14

 [ТС]

3

Спасибо! Да уж, мне до такого уровня расти и расти…



0



0 / 0 / 0

Регистрация: 16.11.2012

Сообщений: 3

19.11.2012, 16:35

 [ТС]

4

А если в строке в каждой ячейке представлены следующие данные: «№ Горящая Ф.И.», например:

1230 Горящая Иванова Екатерина
4560 Архив Савельев Максим

С помощью программы, написанной Romas654, можно выделить красным цветом слово «Горящая». А как можно выделить этим же цветом Ф.И., чтобы было так:

1230

Горящая Иванова Екатерина
4560 Архив Савельев Максим

Спасибо!!!

Добавлено через 9 минут
Romas654, можно попросить вас еще посмотреть?



0



Romas654

117 / 31 / 2

Регистрация: 16.11.2012

Сообщений: 65

20.11.2012, 07:57

5

Изменена функция. Ищет слово FStr, красит его и еще два следующих за ним слова

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Function Set_Color(Str As Range, FStr As String)
Dim st As Long
Dim Arr() As String, StrN As String
st = 1
Arr = Split(Str, " ") ' разделяем строку на массив
 
For x = 0 To UBound(Arr) ' перебор элементов массива, т.е. слов
    If Arr(x) = FStr Then ' если найдено искомое слово, то в следующем цикле красим это слово и еще два
    For h = 0 To 2
        If UBound(Arr) < x + h Then Exit For ' выход из цикла если нет элементов
        Str.Characters(Start:=InStr(st, Str, Arr(x + h)), Length:=Len(Arr(x + h))).Font.Color = vbRed ' красим
        st = InStr(st, Str, Arr(x + h)) + 1 ' очередная стартовая позиция
        Next
    End If
Next
 
End Function

Вложения

Тип файла: xls замена цвета.xls (50.5 Кб, 16 просмотров)



1



Есть похожий вопрос на английском: Highlighting searched words on Vba excel

Единственная разница, в том вопросе ищется одно слово.

Адаптируем код из этого вопроса, выделим его в процедуру, вынесем все искомые значения в массив и будем вызывать процедуру в цикле:

'Выделяет заданный текст в заданном диапазоне
'Адаптирован код из ответа на Stack Overflow: https://stackoverflow.com/questions/35437207/highlighting-searched-words-on-vba-excel
Sub HighlighText(rng As Range, text As String)
    Application.ScreenUpdating = False
    Dim cellRange As Range
    'Ищем текст на листе
    Set cellRange = rng.Find(What:=text, LookIn:=xlValues, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False)
    If Not cellRange Is Nothing Then
        Dim cellAddress As String
        cellAddress = cellRange.Address
        Do
            Dim textStart As Integer
            textStart = 1
            Do
                'Ищем текст внутри ячейки
                'Если требуется поиск нечувствительный к регистру, то можно привести и искомое значение и текст к нижнему регистру
                'textStart = InStr(textStart, LCase(cellRange.Value), LCase(text))
                textStart = InStr(textStart, cellRange.Value, text)
                If textStart <> 0 Then
                    'Выделяем текст
                    cellRange.Characters(textStart, Len(text)).Font.Color = RGB(255, 0, 0)
                    textStart = textStart + 1
                End If
            'Выделяем текст пока он находится в этой ячейке
            Loop Until textStart = 0
            Set cellRange = rng.FindNext(After:=cellRange)
        Loop Until cellRange Is Nothing Or cellRange.Address = cellAddress
    End If
End Sub

Sub FindAndSelect()
    'Массив слов (терминов) для выделения
    Dim termsToHighlight As Variant
    termsToHighlight = Array("teams", "TechnicalSuit", "Captivate", "Subscription", "Creative Cloud", "renewal", "TLP", "Stock", "Dreamweave", "CLP", _
                    "Spark", "FrameMaker", "Premiere Pro", "Illustrator", "Fresco", "InCopy", "enterprise", "Audition", "InDesign", "Flash", "Dimension", _
                    "Lightroom", "Substance", "After Effects", "Photoshop", "XD", "Animate", "Presenter", "RoboHelp")
    Dim workRange As Range
    Set workRange = ActiveWorkbook.Worksheets("TDSheet").Range("A1:A3000")
    For Each term In termsToHighlight
        HighlighText workRange, CStr(term)
    Next term
End Sub

Если нужно выделять слова вне зависимости от регистра («Teams», «xd» и др.), то можно исправить функцию поиска текста, читайте комментарии.

И наоборот, если нужно искать слова именно с таким регистром, то можно проставить MatchCase:=True.

В принципе список терминов для выделения можно хранить не в коде, а где-нибудь в самой книге Excel.

Понравилась статья? Поделить с друзьями:
  • Выделить сумму без ндс формула excel
  • Выделить строку с клавиатуры excel
  • Выделить строку в тексте в редакторе ms word
  • Выделить строки с выделенными ячейкам excel
  • Выделить строки миф excel