ไปยังเนื้อหาหลัก

วิธีการเน้นข้อความเฉพาะภายในเซลล์โดยยึดตามข้อความอื่น ๆ

ใน Excel อาจเป็นเรื่องง่ายที่เราจะเน้นเซลล์ตามข้อความเฉพาะ แต่ที่นี่ฉันต้องการเน้นข้อความเฉพาะภายในเซลล์เพื่อให้โดดเด่น แต่ไม่ใช่ทั้งเซลล์ นี่อาจเป็นปัญหาสำหรับพวกเราส่วนใหญ่ บทความนี้ฉันจะพูดถึงเทคนิคบางอย่างในการแก้งานนี้ใน Excel


เน้นข้อความเฉพาะอย่างน้อยหนึ่งข้อความภายในหลายเซลล์ด้วยรหัส VBA

ตัวอย่างเช่นฉันมีสตริงข้อความจำนวนหนึ่งและตอนนี้ฉันต้องการเน้นข้อความเฉพาะ“ท้องฟ้า” ในเซลล์เหล่านี้เพื่อให้ได้ผลลัพธ์ตามภาพหน้าจอต่อไปนี้ที่แสดง:

หากต้องการเน้นข้อความเพียงบางส่วนภายในเซลล์โค้ด 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 สำหรับ Excelเดียวกันกับที่ ทำเครื่องหมายคำหลัก คุณสามารถไฮไลต์คำหลักหนึ่งคำขึ้นไปพร้อมกันภายในเซลล์ได้

หมายเหตุเพื่อนำไปใช้ ทำเครื่องหมายคำหลัก ประการแรกคุณควรดาวน์โหลดไฟล์ Kutools สำหรับ Excelแล้วใช้คุณสมบัติอย่างรวดเร็วและง่ายดาย

หลังจากการติดตั้ง Kutools สำหรับ Excelโปรดดำเนินการดังนี้:

1. คลิก Kutools > ข้อความ > ทำเครื่องหมายคำหลักดูภาพหน้าจอ:

2. ใน ทำเครื่องหมายคำหลัก โปรดดำเนินการดังต่อไปนี้:

  • เลือกช่วงข้อมูลที่คุณต้องการใช้จากไฟล์ พิสัย กล่องข้อความ;
  • เลือกเซลล์ที่มีคำสำคัญที่คุณต้องการเน้นคุณยังสามารถป้อนคำหลักด้วยตนเอง (คั่นด้วยลูกน้ำ) ลงในไฟล์ คำหลัก กล่องข้อความ
  • สุดท้ายคุณควรระบุสีฟอนต์สำหรับไฮไลต์ข้อความด้วยกา ทำเครื่องหมายสีของคำหลัก ตัวเลือก (ในการระบายสีเซลล์ทั้งหมดที่มีคีย์เวิร์ดให้เลือกไฟล์ ทำเครื่องหมายสีเนื้อหาของเซลล์ ตัวเลือก)

3. จากนั้นคลิก Ok ปุ่มข้อความที่ระบุทั้งหมดได้รับการเน้นดังภาพด้านล่างที่แสดง:

หมายเหตุ: คุณลักษณะนี้ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่หากคุณต้องการเน้นข้อความโดยคำนึงถึงตัวพิมพ์เล็กและใหญ่โปรดตรวจสอบ Match กรณี ใน ทำเครื่องหมายคำหลัก กล่องโต้ตอบ


เน้นข้อความเฉพาะภายในเซลล์ตามข้อความอื่นด้วยรหัส 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
  • แสดงข้อความเฉพาะตามค่าในคอลัมน์อื่น
  • สมมติว่าฉันมีรายการตัวเลขตอนนี้ฉันต้องการแสดงข้อความเฉพาะบางคอลัมน์ในคอลัมน์อื่นตามหมายเลขคอลัมน์นี้ ตัวอย่างเช่นหากหมายเลขเซลล์อยู่ระหว่าง 1-100 ฉันต้องการให้ข้อความ "ลด" แสดงในเซลล์ที่อยู่ติดกันหากตัวเลขอยู่ระหว่าง 101-200 ข้อความ "คงที่" จะปรากฏขึ้นและหากจำนวนมากกว่า 200 ข้อความ“ เพิ่ม” จะปรากฏดังภาพหน้าจอต่อไปนี้ เพื่อแก้ปัญหานี้ใน Excel สูตรต่อไปนี้ในบทความนี้อาจช่วยคุณได้
  • รวมเซลล์ด้วยข้อความและตัวเลขใน Excel
  • ตัวอย่างเช่นฉันมีรายการค่าที่มีสตริงตัวเลขและข้อความตอนนี้ฉันต้องการรวมเฉพาะตัวเลขตามข้อความเดียวกันดูภาพหน้าจอต่อไปนี้ โดยปกติคุณไม่สามารถรวมค่าในรายการด้วยสตริงข้อความได้โดยตรงที่นี่ฉันจะแนะนำสูตรบางอย่างเพื่อจัดการกับงานนี้

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

🤖 Kutools AI ผู้ช่วย: ปฏิวัติการวิเคราะห์ข้อมูลโดยยึดตาม: การดำเนินการที่ชาญฉลาด   |  สร้างรหัส  |  สร้างสูตรที่กำหนดเอง  |  วิเคราะห์ข้อมูลและสร้างแผนภูมิ  |  เรียกใช้ฟังก์ชัน Kutools...
คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...

รายละเอียด


แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 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