Skip to main content

كيفية تمييز نص معين داخل الخلية بناءً على نص آخر؟

Author: Xiaoyang Last Modified: 2025-05-30

في Excel، قد يكون من السهل بالنسبة لنا تمييز الخلايا بناءً على نص معين، ولكن هنا، أريد تمييز نص معين داخل الخلية ليكون بارزًا وليس الخلية بأكملها. قد يكون هذا الأمر صعبًا بالنسبة لمعظم المستخدمين. في هذه المقالة، سأتحدث عن بعض الحيل لحل هذه المهمة في Excel.


تمييز نص واحد أو أكثر محدد داخل عدة خلايا باستخدام كود VBA

على سبيل المثال، لدي نطاق من سلاسل النصوص، والآن أريد تمييز النص المحدد 'Sky' في هذه الخلايا للحصول على النتيجة كما هو موضح في لقطات الشاشة التالية:

original data arrow right Highlight one specific text

لتمييز جزء فقط من النص داخل الخلية، يمكن أن يساعدك الكود التالي لـ VBA.

1. حدد الخلايا التي تريد تمييز النص المحدد فيها، ثم اضغط باستمرار على مفتاحي ALT + F11 لفتح نافذة Microsoft Visual Basic for Applications.

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 لتشغيل هذا الكود، وسيظهر مربع تنبيه لتذكيرك بإدخال النص الذي تريد تمييزه فقط، انظر إلى لقطة الشاشة:

enter the text to highlight

4. وبعد ذلك انقر فوق زر موافق، سيتم تمييز كل النصوص التي حددتها فقط داخل الخلايا، انظر إلى لقطة الشاشة:

original data arrow right all text you specified are highlighted
نصائح: إذا كنت بحاجة إلى تمييز كلمات رئيسية متعددة من سلاسل النصوص، يرجى تطبيق الكود أدناه:
كود 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

ثم، في المربع المنبثق، يرجى إدخال الكلمات الرئيسية التي تريد تمييزها (فصل الكلمات بفاصلة)، انظر إلى لقطة الشاشة:
enter the keywords to highlight

ومن ثم، انقر فوق زر موافق، سيتم تمييز الكلمات المحددة فورًا، انظر إلى لقطات الشاشة:

original data arrow right the specified words are highlighted

ملاحظة: الأكواد أعلاه حساسة لحالة الأحرف.


تمييز نص واحد أو أكثر محدد داخل عدة خلايا بميزة رائعة

إذا لم تكن على دراية بالشفرة في Excel، هنا، سأقدم لك أداة سهلة - Kutools لـ Excel، مع ميزة Mark Keyword الخاصة بها، يمكنك تمييز كلمة رئيسية واحدة أو أكثر دفعة واحدة داخل الخلايا.

Kutools لـ Excel يقدم أكثر من 300 ميزة متقدمة لتبسيط المهام المعقدة، مما يعزز الإبداع والكفاءة. بالتكامل مع قدرات الذكاء الاصطناعي، يقوم Kutools بأتمتة المهام بدقة، مما يجعل إدارة البيانات أمرًا سهلاً للغاية. معلومات تفصيلية عن Kutools لـ Excel... نسخة تجريبية مجانية...

بعد تثبيت Kutools لـ Excel، يرجى القيام بما يلي:

1. انقر فوق Kutools > نص > Mark Keyword، انظر إلى لقطة الشاشة:

click Mark Keyword feature of kutools

2. في مربع الحوار Mark Keyword، يرجى القيام بالعمليات التالية:

  • حدد نطاق البيانات الذي تريد استخدامه من مربع النص Range؛
  • حدد الخلايا التي تحتوي على الكلمات الرئيسية التي تريد تمييزها، يمكنك أيضًا إدخال الكلمات الرئيسية يدويًا (مفصولة بفاصلة) في مربع النص Keyword
  • أخيرًا، يجب عليك تحديد لون خط لتمييز النصوص عن طريق تحديد خيار Mark keyword colors. (لتلوين الخلايا بالكامل التي تحتوي على الكلمات الرئيسية، حدد الخيار Mark the cell content colors)

set the options in the dialog box

3. ثم، انقر فوق زر موافق، سيتم تمييز جميع النصوص المحددة كما هو موضح في لقطة الشاشة أدناه:

all specified texts are highlighted

ملاحظة: هذه الميزة ليست حساسة لحالة الأحرف، إذا كنت تريد تمييز النص بطريقة حساسة لحالة الأحرف، يرجى تحديد Match Case في مربع الحوار Mark Keyword.


تمييز نص معين داخل الخلية بناءً على نص آخر باستخدام كود VBA

هنا وضع آخر، لدي عمودان حيث يحتوي العمود الأول على سلاسل النصوص والعمود الثاني على النص المحدد، الآن، أحتاج إلى تمييز النص المتعلق في العمود الأول بناءً على النص المحدد في العمود الثاني لكل صف.

Highlight specific text within a cell based on other text

1. اضغط باستمرار على مفتاحي ALT + F11 لفتح نافذة Microsoft Visual Basic for Applications.

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 لتشغيله، سيظهر مربع تنبيه لتذكيرك بتحديد نطاق البيانات الذي يحتوي على كل من سلسلة النصوص والنص المحدد الذي تريد تمييزه واستنادًا إليه، انظر إلى لقطة الشاشة:

select the data range which both contains the text string and specific text

4. وبعد ذلك انقر فوق زر موافق، سيتم تلوين كل النصوص المقابلة في العمود الأول بناءً على النص المحدد في العمود الثاني باللون الأحمر كما هو موضح في لقطة الشاشة التالية:

all the corresponding text in the first column based on the specific text in the second column are colored red


مقالات ذات صلة:

  • جعل جزء من النص غامق عند دمج عمودين في Excel
  • في ورقة عمل Excel، بعد دمج قيم خليتين باستخدام الصيغ، قد تجد أنه لن يتم تغليظ جزء من النص في الخلية المدمجة. قد يكون هذا مزعجًا في بعض الأحيان، كيف يمكنك جعل جزء من النص غامق عند دمج عمودين في Excel؟
  • دمج أعمدة الخلايا والحفاظ على لون النص في Excel
  • كما نعلم جميعًا، أثناء دمج أو دمج أعمدة الخلايا في عمود واحد، سيتم فقدان تنسيق الخلية (مثل لون خط النص، تنسيق الأرقام، إلخ). في هذه المقالة، سأقدم بعض الحيل لدمج أعمدة الخلايا في واحدة والحفاظ على لون النص بسهولة في Excel.
  • عرض نص معين بناءً على القيم في عمود آخر
  • لنفترض أن لدي قائمة من الأرقام، الآن أريد عرض نص معين في عمود آخر بناءً على أرقام هذا العمود. على سبيل المثال، إذا كان رقم الخلية بين 1-100، أريد أن يظهر النص 'انخفاض' في الخلية المجاورة، وإذا كان الرقم بين 101-200، يظهر النص 'مستقر'، وإذا كان الرقم أكبر من 200، يظهر النص 'زيادة' كما هو موضح في لقطة الشاشة التالية. لحل هذه المهمة في Excel، قد تساعدك الصيغ التالية في هذه المقالة.
  • جمع الخلايا التي تحتوي على نص وأرقام في Excel
  • على سبيل المثال، لدي قائمة من القيم تحتوي على سلاسل عددية ونصية، الآن أريد جمع الأرقام فقط بناءً على نفس النص، انظر إلى لقطة الشاشة التالية. بشكل طبيعي، لا يمكنك جمع القيم في القائمة التي تحتوي على سلاسل نصية مباشرة، هنا، سأقدم لك بعض الصيغ للتعامل مع هذه المهمة.

أفضل أدوات الإنتاجية لمكتب العمل

🤖 Kutools AI Aide: أحدث ثورة في تحليل البيانات من خلال: التنفيذ الذكي |توليد الشيفرة |إنشاء الصيغ المخصصة |تحليل البيانات وتوليد الرسوم البيانية |استدعاء الوظائف المحسنة
الميزات الشائعة: البحث، تمييز أو وضع علامة على المكررات | حذف الصفوف الفارغة | دمج الأعمدة أو العنوان دون فقدان البيانات | تقريب ...
بحث متقدم: بحث V متعدد المعايير | بحث V متعدد القيم | بحث في عدة ورقات | مطابقة غامضة ....
قائمة منسدلة متقدمة: إنشاء قائمة منسدلة بسرعة | قائمة منسدلة تابعة | قائمة منسدلة متعددة الاختيار ....
إدارة الأعمدة: إضافة عدد محدد من الأعمدة | نقل الأعمدة | تبديل حالة إظهار الأعمدة المخفية | مقارنة النطاق والأعمدة ...
ميزات مميزة: التركيز على الشبكة | عرض التصميم | شريط الصيغ المحسن | أدوات المصنف & أدوات الورقة العمل | مكتبة النص التلقائي (Auto Text) | منتقي التاريخ | دمج البيانات | تشفير/فك تشفير الخلايا | إرسال البريد الإلكتروني حسب القائمة | مرشح متقدم | تصفية خاصة (تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...) ...
أفضل15 مجموعة أدوات:12 أداة نصية (إضافة نص، حذف الأحرف المحددة، ...) | أكثر من50 نوع من الرسوم البيانية (مخطط جانت، ...) | أكثر من40 صيغة عملية (حساب العمر بناءً على تاريخ الميلاد، ...) |19 أداة إدراج (إدراج رمز الاستجابة السريعة، إدراج صورة من المسار، ...) |12 أداة تحويل (تحويل إلى كلمات، تحويل العملة، ...) |7 أدوات دمج وتقسيم (دمج متقدم للصفوف، تقسيم الخلايا، ...) | ... والمزيد

عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...


Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير

  • تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
  • افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
  • يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!