Bỏ qua nội dung chính

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:

Lời khuyên: Nếu bạn cần đánh dấu nhiều từ khóa từ các chuỗi văn bản, vui lòng áp dụng mã dưới đây:
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 cho 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 ô.

Lưu ý:Để áp dụng những Đánh dấu từ khóa , trước tiên, bạn nên tải xuống Kutools cho Excel, và sau đó áp dụng các tính năng một cách nhanh chóng và dễ dàng.

Sau khi cài đặt Kutools cho 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

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excel và 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...

Mô tả


Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nê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!
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