KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

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

АвторСяоянДата изменения

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


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

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

исходные данныестрелка вправоВыделить один конкретный текст

Чтобы выделить лишь часть текста внутри ячейки, воспользуйтесь приведённым ниже кодом VBA.

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

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. Затем нажмите кнопку ОК, и весь указанный вами текст будет выделен только внутри ячеек — см. снимок экрана:

исходные данныестрелка вправовесь указанный вами текст выделен
Советы: если вам нужно выделить несколько ключевых слов из текстовых строк, используйте приведённый ниже код:
Код 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

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

Затем нажмите кнопку ОК, и указанные слова будут сразу выделены — см. снимки экрана:

исходные данныестрелка вправоуказанные слова выделены

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


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

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

Kutools для Excelпредлагает более 300 расширенных функций для упрощения сложных задач, повышая креативность и эффективность.Интегрировано с возможностями ИИ, Kutools автоматизирует задачи с высокой точностью, делая управление данными простым и удобным.Подробная информация о Kutools для Excel…         Бесплатная пробная версия…

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

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

нажмите функцию «Mark Keyword» («Выделить ключевое слово») Kutools

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

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

настройте параметры в диалоговом окне

3. Затем нажмите кнопку ОК, и все указанные фрагменты текста будут выделены, как показано на снимке экрана ниже:

весь указанный текст выделен

Примечание: эта функция не учитывает регистр. Если вы хотите выделить текст с учётом регистра, установите флажок Учитывать регистр в диалоговом окне Отметка ключевых слов.


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

Вот ещё один случай: у вас есть два столбца — первый содержит текстовые строки, а второй — конкретный текст. Теперь нужно выделить соответствующий фрагмент в первой колонке, основываясь на указанном тексте из второй колонки для каждой строки.

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

1. Удерживая клавиши ALT + F11, откройте окно Microsoft Visual Basic for Applications.

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. Затем нажмите кнопку ОК, и весь соответствующий текст в первом столбце — на основе конкретного текста во втором столбце — будет окрашен в красный цвет, как показано на следующем снимке экрана:

весь соответствующий текст в первом столбце, основанный на определенном тексте во втором столбце, окрашен в красный цвет


Другие связанные статьи:

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

Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

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

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек