KutoolsforOffice — حل واحد، خمس أدوات قوية.تحقيق المزيد بجهد أقل.

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

المؤلفشياويانغتاريخ التعديل

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


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

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

البيانات الأصليةسهم يمينتمييز نص معين واحد

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

1. حدد الخلايا التي تريد تمييز النص المحدد فيها، ثم اضغط باستمرار على مفاتيحALT + F11 لفتح نافذةمايكروسوفت فيجوال بيسك للتطبيقات.

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

البيانات الأصليةسهم يمينتم تمييز كل النصوص التي حددتها
نصائح: إذا كنت بحاجة إلى تمييز كلمات مفتاحية متعددة من السلاسل النصية، يُرجى تطبيق الكود أدناه:
كود 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

بعد ذلك، في المربع المنبثق، يُرجى إدخال الكلمات المفتاحية التي تريد تمييزها (افصل بين الكلمات بفاصلة)، انظر لقطة الشاشة:
أدخل الكلمات المفتاحية التي تريد تمييزها

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

البيانات الأصليةسهم يمينتم تمييز الكلمات المحددة

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


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

إذا لم تكن معتادًا على استخدام الكود في إكسل، فسأعرض لك أداة سهلة –Kutools لـ Excel. باستخدام ميزتهاوضع علامات على الكلمات الرئيسية، يمكنك تمييز كلمة مفتاحية واحدة أو أكثر من الكلمات المحددة دفعة واحدة داخل الخلايا.

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

بعد تثبيتKutools لـ Excel، يُرجى اتباع الخطوات التالية:

1. انقر علىKutools > نص > وضع علامات على الكلمات الرئيسية، انظر لقطة الشاشة:

انقر على ميزة تمييز الكلمة المفتاحية من Kutools

2. في مربع حواروضع علامات على الكلمات الرئيسية، يُرجى تنفيذ العمليات التالية:

  • حدد نطاق البيانات الذي تريد استخدامه من مربعالنطاقالنصي؛
  • حدد الخلايا التي تحتوي على الكلمات المفتاحية التي تريد تمييزها، أو يمكنك إدخال الكلمات المفتاحية يدويًا (مفصولة بفواصل) في مربعالكلمة المفتاحيةالنصي
  • أخيرًا، لتمييز النصوص، يجب تحديد لون الخط عبر اختيار خيارلون خط الكلمة الرئيسية. (ولتمييز الخلايا بأكملها التي تحتوي على الكلمات المفتاحية، اختر خيار)لون محتوى الخلية.)

اضبط الخيارات في مربع الحوار

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

تم تمييز جميع النصوص المحددة

ملاحظة: هذه الميزة لا تُميّز بين الأحرف الكبيرة والصغيرة؛ فإذا كنت ترغب في تمييز النص مع مراعاة حالة الأحرف، يُرجى تحديد خيارمطابقة حالة الأحرففي مربع حواروضع علامات على الكلمات الرئيسية.


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

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

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

1. اضغط باستمرار على مفاتيحALT + F11 لفتح نافذةمايكروسوفت فيجوال بيسك للتطبيقات.

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. ثم انقر على زرموافق، وسيتم تلوين جميع النصوص المقابلة في العمود الأول باللون الأحمر وفقًا للنص المحدد في العمود الثاني، كما هو موضح في لقطة الشاشة التالية:

يتم تلوين كل النصوص المقابلة في العمود الأول باللون الأحمر بناءً على النص المحدد في العمود الثاني


مقالات ذات صلة إضافية:

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

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

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

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


يجلب Office Tab واجهة ذات علامات تبويب إلى Office، ويجعل عملك أسهل بكثير

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

جميع الإضافات من Kutools في برنامج تثبيت واحد!

Kutools for Office حزمةٌ تحتوي على إضافاتٍ مخصصة لتطبيقات Excel وWord وOutlook وPowerPoint، إلى جانب Office Tab Pro، مما يجعلها الخيار المثالي للفِرق التي تعمل عبر تطبيقات Office.

ExcelWordOutlookTabsPowerPoint
  • حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
  • برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
  • يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
  • تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
  • أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل