Làm thế nào để đánh dấu văn bản cụ thể trong một ô dựa trên văn bản khác?
Trong Excel, chúng ta có thể dễ dàng đánh dấu các ô dựa trên một văn bản cụ thể, nhưng ở đây, tôi muốn đánh dấu một văn bản cụ thể trong một ô để làm cho nó nổi bật chứ không phải toàn bộ ô. Điều này có thể là một rắc rối cho hầu hết chúng ta. Bài viết này, tôi sẽ nói về một số thủ thuật để giải quyết công việc này trong Excel.

Đánh dấu một hoặc nhiều văn bản cụ thể trong nhiều ô bằng mã VBA
Ví dụ: tôi có một loạt các chuỗi văn bản và bây giờ, tôi muốn đánh dấu văn bản cụ thể “bầu trời”Trong các ô này để nhận được kết quả như sau ảnh chụp màn hình được hiển thị:
![]() |
![]() |
![]() |
Để chỉ đánh dấu một phần văn bản trong một ô, mã VBA sau có thể giúp bạn.
1. Chọn các ô mà bạn muốn đánh dấu văn bản cụ thể, sau đó nhấn giữ ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.
2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Mô-đun Cửa sổ.
Mã VBA: Đánh dấu một phần văn bản trong một ô:
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. Sau đó nhấn F5 để chạy mã này và một hộp nhắc sẽ bật ra để nhắc bạn nhập văn bản mà bạn chỉ muốn đánh dấu, xem ảnh chụp màn hình:
4. Và sau đó nhấp vào OK , tất cả văn bản bạn chỉ định chỉ được đánh dấu trong các ô, xem ảnh chụp màn hình:
![]() |
![]() |
![]() |
Mã VBA: Đánh dấu nhiều từ khóa từ chuỗi văn bản:
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
Sau đó, trong hộp bật ra, vui lòng nhập các từ khóa bạn muốn đánh dấu, (phân tách các từ bằng dấu phẩy), xem ảnh chụp màn hình:
Và sau đó, nhấp vào OK , các từ được chỉ định đã được đánh dấu cùng một lúc, xem ảnh chụp màn hình:
![]() |
![]() |
![]() |
Chú thích: Các mã trên có phân biệt chữ hoa chữ thường.
Đánh dấu một hoặc nhiều văn bản cụ thể trong nhiều ô bằng một tính năng tuyệt vời
Nếu bạn không quen thuộc với mã trong Excel, ở đây, tôi sẽ giới thiệu một công cụ dễ dàng - Kutools for Excel, Với khả Đánh dấu từ khóa , bạn có thể đánh dấu một hoặc nhiều từ khóa cụ thể cùng một lúc trong các ô.
Sau khi cài đặt Kutools for Excel, vui lòng làm như sau:
1. Nhấp chuột Kutools > bản văn > Đánh dấu từ khóa, xem ảnh chụp màn hình:
2. Trong Đánh dấu từ khóa hộp thoại, vui lòng thực hiện các thao tác sau:
- Chọn phạm vi dữ liệu mà bạn muốn sử dụng từ Phạm vi hộp văn bản;
- Chọn các ô chứa từ khóa mà bạn muốn đánh dấu, bạn cũng có thể nhập các từ khóa theo cách thủ công (phân tách bằng dấu phẩy) vào Từ khóa hộp văn bản
- Cuối cùng, bạn nên chỉ định màu phông chữ để làm nổi bật văn bản bằng cách chọn Đánh dấu màu từ khóa Lựa chọn. (Để tô màu toàn bộ các ô có chứa từ khóa, hãy chọn Đánh dấu màu nội dung ô không bắt buộc)
3. Sau đó nhấn vào Ok , tất cả các văn bản được chỉ định đã được đánh dấu như hình ảnh chụp màn hình bên dưới:
Chú thích: Tính năng này không phân biệt chữ hoa chữ thường, nếu bạn muốn tô sáng văn bản có phân biệt chữ hoa chữ thường, vui lòng kiểm tra Trường hợp trận đấu trong Đánh dấu từ khóa hộp thoại.
Đánh dấu văn bản cụ thể trong một ô dựa trên văn bản khác với mã VBA
Đây là một tình huống khác, tôi có hai cột trong đó cột đầu tiên chứa các chuỗi văn bản và cột thứ hai là văn bản cụ thể, bây giờ, tôi cần đánh dấu văn bản tương đối trong cột đầu tiên dựa trên văn bản cụ thể trong cột thứ hai cho mỗi hàng.
1. Giữ ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.
2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Mô-đun Cửa sổ.
Mã VBA: Đánh dấu một phần văn bản trong ô dựa trên văn bản khác:
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. Sau khi dán mã và nhấn F5 để chạy nó, một hộp nhắc sẽ bật ra để nhắc bạn chọn phạm vi dữ liệu chứa cả chuỗi văn bản và văn bản cụ thể mà bạn muốn đánh dấu và dựa trên, xem ảnh chụp màn hình:
4. Và sau đó nhấp vào OK , tất cả văn bản tương ứng trong cột đầu tiên dựa trên văn bản cụ thể trong cột thứ hai đã được tô màu đỏ như ảnh chụp màn hình sau:
Các bài viết tương đối hơn:
- Phần chữ in đậm khi nối hai cột trong Excel
- Trong trang tính Excel, sau khi nối hai giá trị ô với công thức, bạn có thể thấy nó sẽ không in đậm phần văn bản trong ô công thức kết hợp. Điều này đôi khi có thể gây khó chịu, làm thế nào bạn có thể tô đậm một phần văn bản khi nối hai cột trong Excel?
- Nối các cột ô và giữ màu văn bản trong Excel
- Như chúng ta đã biết, trong khi nối hoặc kết hợp các cột ô thành một cột, định dạng ô (chẳng hạn như màu phông chữ văn bản, định dạng số, v.v.) sẽ bị mất. Bài viết này, tôi sẽ giới thiệu một số thủ thuật để kết hợp các cột ô thành một và giữ màu văn bản dễ dàng nhất có thể trong Excel.
- Hiển thị văn bản cụ thể dựa trên giá trị trong cột khác
- Giả sử, tôi có một danh sách các số, bây giờ, tôi muốn hiển thị một số văn bản cụ thể trong một cột khác dựa trên các số cột này. Ví dụ: nếu số ô nằm trong khoảng 1-100, tôi muốn văn bản “Giảm” được hiển thị trong ô liền kề, nếu số nằm trong khoảng 101-200, văn bản “Ổn định” được hiển thị và nếu số lớn hơn 200 , một văn bản "Tăng" được hiển thị như ảnh chụp màn hình sau. Để giải quyết tác vụ này trong Excel, các công thức sau trong bài viết này có thể giúp bạn.
- Tính tổng các ô với văn bản và số trong Excel
- Ví dụ: tôi có một danh sách các giá trị chứa chuỗi số và chuỗi văn bản, bây giờ, tôi muốn chỉ tính tổng các số dựa trên cùng một văn bản, hãy xem ảnh chụp màn hình sau. Thông thường, bạn không thể tính tổng các giá trị trong danh sách với chuỗi văn bản một cách trực tiếp, sau đây, tôi sẽ giới thiệu cho bạn một số công thức để giải quyết công việc này.
Công cụ năng suất văn phòng tốt nhất
Nâng cao kỹ năng Excel của bạn với Kutools for Excelvà trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel Cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian. Bấm vào đây để có được tính năng bạn cần nhất...
Office Tab Mang giao diện theo thẻ vào Office và giúp công việc của bạn dễ dàng hơn nhiều
- Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
- Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
- Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!













