Перейти к основному содержанию

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

Автор: Сяоян Последнее изменение: 2024 июля 10 г.

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


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

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

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

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

исходные данные стрелку вправо весь указанный вами текст выделен
Советы: Если вам нужно выделить несколько ключевых слов из текстовых строк, примените приведенный ниже код:
Код 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 предлагает более 300 расширенных функций для оптимизации сложных задач, повышения креативности и эффективности. Интеграция с возможностями ИИKutools точно автоматизирует задачи, упрощая управление данными. Подробная информация о Kutools для Excel...         Бесплатная пробная версия...

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

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

нажмите кнопку «Отметить ключевое слово» для функции kutools

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 AI Помощник: Революционный анализ данных на основе: Интеллектуальное исполнение   |  Генерировать код  |  Создание пользовательских формул  |  Анализ данных и создание диаграмм  |  Вызов функций Kutools...
Популярные опции: Найдите, выделите или определите дубликаты   |  Удалить пустые строки   |  Объедините столбцы или ячейки без потери данных   |   Раунд без формулы ...
Супер поиск: Множественный критерий VLookup    VLookup с несколькими значениями  |   VLookup по нескольким листам   |   Нечеткий поиск ....
Расширенный раскрывающийся список: Быстрое создание раскрывающегося списка   |  Зависимый раскрывающийся список   |  Выпадающий список с множественным выбором ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка Фокус   |  Просмотр дизайна   |   Большой Формулный Бар    Менеджер книг и листов   |  Библиотека ресурсов (Авто текст)   |  Выбор даты   |  Комбинировать листы   |  Шифровать/дешифровать ячейки    Отправлять электронные письма по списку   |  Суперфильтр   |   Специальный фильтр (фильтровать жирным шрифтом/курсивом/зачеркиванием...) ...
15 лучших наборов инструментов12 Текст Инструменты (Добавить текст, Удалить символы, ...)   |   50+ График Тип (Диаграмма Ганта, ...)   |   40+ Практических Формулы (Рассчитать возраст по дню рождения, ...)   |   19 Вносимые Инструменты (Вставить QR-код, Вставить изображение из пути, ...)   |   12 Конверсия Инструменты (Числа в слова, Конверсия валюты, ...)   |   7 Слияние и разделение Инструменты (Расширенные ряды комбинирования, Разделить клетки, ...)   |   ... и более

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


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

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