Как да маркирате определен текст в клетка въз основа на друг текст?
В Excel може да е лесно за нас да маркираме клетките въз основа на конкретен текст, но тук искам да маркирам конкретен текст в клетка, за да го направя изключителен, но не и цялата клетка. Това може би е проблем за повечето от нас. В тази статия ще говоря за някои трикове за решаване на тази задача в Excel.
Маркирайте един или повече конкретен текст в множество клетки с VBA код
Например, имам набор от текстови низове и сега искам да маркирам конкретния текст "небе” в тези клетки, за да получите резултата, както са показани следните екранни снимки:
За да маркирате само част от текст в клетка, следният VBA код може да ви помогне.
1. Изберете клетките, които искате да маркирате конкретния текст, и след това задръжте натиснат ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.
2. Щракнете Поставете > Модулии поставете следния код в Модули Window.
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 за Excel, Със своята Маркирайте ключова дума можете да маркирате конкретната една или повече ключови думи наведнъж в клетките.
След инсталиране Kutools за Excel, моля, направете следното:
1. Щракнете Kutools > Текст > Маркирайте ключова дума, вижте екранна снимка:
2. В Маркирайте ключова дума диалогов прозорец, моля, извършете следните операции:
- Изберете диапазона от данни, който искате да използвате от Обхват текстово поле;
- Изберете клетките, които съдържат ключовите думи, които искате да маркирате, можете също да въведете ключовите думи ръчно (разделени със запетая) в Ключова дума текстово поле
- Накрая трябва да посочите цвят на шрифта за маркиране на текстовете с отметка Маркирайте цветовете на ключовите думи опция. (За да оцветите целите клетки, съдържащи ключовите думи, изберете Маркирайте цветовете на съдържанието на клетката опция)
3, След това кликнете върху Ok всички посочени текстове са маркирани, както е показано на екранната снимка по-долу:
Забележка: Тази функция не е чувствителна към главни и малки букви, ако искате да маркирате текста с големи и малки букви, моля, проверете Съвпадение в Маркирайте ключова дума диалогов прозорец.
Маркирайте конкретен текст в клетка въз основа на друг текст с VBA код
Ето друга ситуация, имам две колони, като първата колона съдържа текстовите низове, а втората колона е конкретният текст, сега трябва да подчертая относителния текст в първата колона въз основа на конкретния текст във втората колона за всяка ред.
1. Задръжте натиснат ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.
2. Щракнете Поставете > Модулии поставете следния код в Модули Window.
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
- Например, имам списък със стойности, съдържащ числови и текстови низове, сега искам да сумирам само числата въз основа на един и същ текст, вижте следната екранна снимка. Обикновено не можете директно да сумирате стойностите в списъка с текстов низ, тук ще ви представя някои формули за справяне с тази задача.
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!