Перейти до основного матеріалу

Як виділити конкретний текст у комірці на основі іншого тексту?

В Excel нам може бути легко виділити клітинки на основі певного тексту, але тут я хочу виділити конкретний текст всередині комірки, щоб зробити його видатним, але не всієї комірки. Це, можливо, клопітно для більшості з нас. У цій статті я розповім про деякі хитрощі для вирішення цієї роботи в Excel.


Виділіть один або кілька конкретних текстів у кількох комірках за допомогою коду VBA

Наприклад, у мене є ряд текстових рядків, і тепер я хочу виділити конкретний текст “Sky”У цих клітинках, щоб отримати результат, як показано на наступних скріншотах:

Щоб виділити лише частину тексту в комірці, наступний код VBA може вам допомогти.

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

2. Клацання Insert > Модуліта вставте наступний код у Модулі Вікно

Код 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 для Excel, З його Позначити ключове слово функцію, ви можете виділити конкретне одне або кілька ключових слів одночасно в комірках.

Примітка:Застосувати ці Позначити ключове слово По-перше, ви повинні завантажити Kutools для Excel, а потім швидко та легко застосувати функції.

після установки Kutools для Excel, будь ласка, виконайте наступне:

1. Клацання Кутулс > текст > Позначити ключове слово, див. скріншот:

2, в Позначити ключове слово діалоговому вікні, виконайте такі дії:

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

3. Потім натисніть кнопку Ok кнопку, усі зазначені тексти були виділені, як показано на знімку екрана нижче:

примітки: Ця функція не чутлива до регістру, якщо ви хочете виділити текст, чутливий до регістру, перевірте Match Case в Позначити ключове слово діалогове вікно.


Виділіть конкретний текст у комірці на основі іншого тексту за допомогою коду VBA

Ось інша ситуація: у мене є два стовпці, у яких перший стовпець містить текстові рядки, а другий стовпець - це конкретний текст, тепер мені потрібно виділити відносний текст у першому стовпці на основі конкретного тексту у другому стовпці для кожного рядок.

1. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.

2. Клацання Insert > Модуліта вставте наступний код у Модулі Вікно

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

Покращуйте свої навички Excel за допомогою Kutools для Excel і відчуйте ефективність, як ніколи раніше. Kutools для Excel пропонує понад 300 додаткових функцій для підвищення продуктивності та економії часу.  Натисніть тут, щоб отримати функцію, яка вам найбільше потрібна...

Опис


Вкладка Office Передає інтерфейс із вкладками в Office і значно полегшує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
Comments (39)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thank you for "Highlight A Specific Text Within Multiple Cells With VBA Code" It works great. Would you please explain:
I need remove "Highlight"

so what can I do

thanks
This comment was minimized by the moderator on the site
Hello, Mukesh
If you want to delete the specific text from multiple cells, you can apply the Find & Replace feature in Excel.
You just need to enter the specific text that you want to delete into the Find textbox, and leave the Replace box blank, at last, click Replace All to get your results.
Please have a try, hope it can help you!
This comment was minimized by the moderator on the site
This is amazing! One question: Is there any way that an Undo (CTRL+Z) can be used after running this?
This comment was minimized by the moderator on the site
Hello, ChristineW,The vba codes can't support Undo, so when applying the code, you'd better copy and paste the original data to another sheet first.If you use Kutools for Excel, the utility support Undo.
This comment was minimized by the moderator on the site
JUST WANT TO SLAY THANK YOU AS THE VBA FORMULA WORKS FOR ME... IT AWESOME.
This comment was minimized by the moderator on the site
Wow! Thank you!
This comment was minimized by the moderator on the site
Awesome. thanks
This comment was minimized by the moderator on the site
This was very useful, thanks very much!
This comment was minimized by the moderator on the site
Hi,
Please any one help me. I want to highlight the specific number in same sentence. For ex : " 2 days leave scansion" want to highlight only "2" in sentence.
This comment was minimized by the moderator on the site
Hi, anyone help me this. i want to highlight the Specific number in Cell within the same sentence. for Ex : " 2 days leave scansion " in this sentence want to highlight number.
This comment was minimized by the moderator on the site
Hi,
could anyone help me with the following

my Cells in Column "G" contain the text from Column Z to AN, not compulsory that Column g contains all the text from Z to AN.

My work here is to Highlight the text in Column G if it does not available in any of Column Z - AN

For example : Cell G1 contains (Hello sir I am doing well) but The text "Sir" do not exist in Column "Z1" to "AN1"

So i need to highlight the text "Sir"
This comment was minimized by the moderator on the site
i get a run-time error '13', type mismatch when i run the script. any suggestions?
This comment was minimized by the moderator on the site
I had the same issue; I found that one of my collumns were formulas and it was looking in them which was what triggered the error 13. Selected a range wihtout formula containing the text to highlight and it worked.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations