Note: The other languages of the website are Google-translated. Back to English

كيفية تلوين أو تمييز كلمة معينة في الخلايا في إكسيل؟

إذا كانت الخلية تحتوي على كلمات متعددة ، كيف يمكنك تمييز كلمة معينة فقط في هذه الخلية؟ وماذا عن تمييز هذه الكلمة المعينة في خلايا متعددة؟ ستوفر هذه المقالة طريقة لتحقيق ذلك.

قم بتلوين كلمة معينة في خلية واحدة / خلايا متعددة برمز VBA


قم بتلوين كلمة معينة في خلية واحدة / خلايا متعددة برمز VBA

يمكن أن يساعدك رمز VBA التالي في تمييز كلمة معينة في التحديد. الرجاء القيام بما يلي.

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

2. في الافتتاح ميكروسوفت فيسوال باسيك للتطبيقات الإطار، انقر فوق إدراج > وحدة. ثم انسخ والصق كود فبا في نافذة الكود.

كود فبا: تلوين كلمة معينة في الخلايا في إكسيل

Sub HighlightStrings()
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    On Error Resume Next
    xHStr = Application.InputBox("What is the string to highlight:", "KuTools For Excel", , , , , , 2)
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            xArr = Split(xCell.Value, xHStr)
            xCount = UBound(xArr)
            If xCount > 0 Then
                xStrTmp = ""
                For I = 0 To xCount - 1
                    xStrTmp = xStrTmp & xArr(I)
                    xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3
                    xStrTmp = xStrTmp & xHStr
                Next
            End If
        Next
    Application.ScreenUpdating = True
End Sub

3. اضغط على F5 مفتاح لتشغيل الكود. وفي كوتولس ل إكسيل في مربع الحوار ، يرجى إدخال الكلمة المعينة التي ستبرزها في الخلايا ، ثم انقر فوق OK زر. انظر لقطة الشاشة:

بعد ذلك يمكنك رؤية جميع الكلمات التي حددتها ملونة باللون الأحمر في الخلايا المحددة على الفور كما هو موضح أدناه.


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


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

Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪

  • إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
  • أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2021 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.
علامة تبويب kte 201905

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

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (23)
تقييم شنومك من شنومكس · تصنيفات 1
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أنت لا تشرح كيفية فتح "مربع حوار Kutools for Excel" المشار إليه في الخطوة الأخيرة.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
عزيزي جاستن ،
اسف بشأن ذلك. بعد لصق رمز VBA في نافذة الكود ، يرجى الضغط على المفتاح F5 لتشغيل الكود ، وبعد ذلك سيتم فتح مربع حوار "Kutools for Excel". شكرًا لك.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل هناك أي طريقة لجعل الكود يميز الكلمات تلقائيًا عندما أقوم بتحرير علامات التبويب؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،
آسف لا يمكن أن تساعد في هذا. شكرا على تعليقك.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا ، شكرا ، شكرا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
Quisisera resaltar varias palabras al tiempo، como lo puedo hacer؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
Eso es lo que estoy tratando de hacer tamiben (هذا ما أحاول فعله أيضًا)
تم تصغير هذا التعليق بواسطة المشرف على الموقع
إذا كنت تفضل أن يكون البحث / التحديد غير حساس لحالة الأحرف ، فقم بتغيير السطر 'xArr = Split (xCell.Value، xHStr)' إلى 'xArr = Split (LCase (xCell.Value)، LCase (xHStr))'. أيضًا ، لاحظت أن الضغط على F5 لا يؤدي إلى تشغيل البرنامج النصي (ولكن بدلاً من ذلك يعطي نافذة مشروطة أخرى). لقد قمت بالوصول إليه عن طريق تمكين علامة التبويب Developer باستخدام خيارات Excel (تخصيص الشريط) ثم النقر فوق وحدات الماكرو لاحقًا.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا، هذا كان مفيدا للغاية! هل هناك طريقة لضبط الماكرو بحيث يبرز الكلمات الكاملة فقط بدلاً من الأجزاء. على سبيل المثال ، أحاول إبراز كلمة "تصميم" لكنها تبرز "تصميم" في كلمة "تعيين". أريدها أن أتخطى تلك الكلمة إذا لم تكن الكلمة كاملة. شكرًا!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،
Est-il possible de supprimer la boite de plans et de mettre par défaut "apple" comme mot recherché؟
شكرا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا PAUC ،
الكود التالي يمكن أن يقدم لك خدمة. يرجى محاولة إعطائها.
Sub HighlightStrings()
'Updated by Extendoffice 20220721
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    On Error Resume Next
    xHStr = "apple"
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            xArr = Split(xCell.Value, xHStr)
            xCount = UBound(xArr)
            If xCount > 0 Then
                xStrTmp = ""
                For I = 0 To xCount - 1
                    xStrTmp = xStrTmp & xArr(I)
                    xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3
                    xStrTmp = xStrTmp & xHStr
                Next
            End If
        Next
    Application.ScreenUpdating = True
End Sub
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،

Coloreaza cuvantul doar daca e la inceput. Daca e la mijloc in aceeasi casuta de excel sau la sfarsit nu-l coloreaza.
سي أنوم مثل بوتيا شيمبا في كود بينترو آل كولورا إيندفيرينت أوندي سي أفلا في كاسوتا تتفوق؟

شكرا لك!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا أندريا ،
إذا كنت تريد تمييز الكلمة فقط إذا كانت في بداية الخلايا المحددة. يمكن أن يقدم لك رمز VBA التالي خدمة. يرجى محاولة إعطائها.
Sub HighlightStrings()
'Updated by Extendoffice 20220805
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    On Error Resume Next
    xHStr = Application.InputBox("What is the string to highlight:", "KuTools For Excel", , , , , , 2)
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            If xHStrLen <= Len(xCell.Value) Then
                If xHStr = Left(xCell.Value, xHStrLen) Then
                    xCell.Characters(1, xHStrLen).Font.ColorIndex = 3
                End If
            End If
        Next
    Application.ScreenUpdating = True
End Sub
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،
a me servirebbe evidenziare tutti i numeri (include di due decimali) da -10,00،0 a 0 in rosso e da 10,00 a +XNUMX،XNUMX in verde. تأتي الأجرة posso لكل غير aggiungere singolarmente ogni dato senza aggiungerli tutti manualmente؟

شكرا جزيلا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا Ciao ،
هل توجد أرقامك في خلايا مختلفة في نطاق؟ إذا كان الأمر كذلك ، يمكنك إنشاء قاعدتي تنسيق شرطي (بين -10 و 0 ، بين 0 و 10) لتمييز هذه الأرقام. إذا لم يكن كذلك ، فهل يمكنك تحميل لقطة شاشة لبياناتك؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هذا جميل جدا ، شكرا! أتساءل ما إذا كان أي شخص يعرف كيفية جعله يعمل على Mac؟ شكرا جزيلا
تقييم شنومك من شنومكس
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كيف يمكن تعديل النص ليقوم بما يلي؟

زيادة الخط بحجم 1 ، و
تسليط الضوء على عدة كلمات مع تشغيل واحد للنص؟

تشك!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا تالين ،

إذا كنت تريد زيادة حجم الخط بمقدار 1 وتمييز عدة كلمات في نفس الوقت ، فيرجى إضافة السطر التالي بعد السطر "xCell.Characters (Len (xStrTmp) + 1، xHStrLen) .Font.ColorIndex = 3"في رمز VBA.
ملاحظة: تحتاج إلى معرفة حجم الخط الحالي للخلية المحددة مسبقًا ، ثم إدخال رقم بحجم أكبر من الكلمة الأصلية. الرقم 12 في السطر أدناه هو حجم الخط الذي سأخصصه للكلمات المطابقة. وحجم الخط الأصلي للكلمة هو 11.
xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.Size = 12
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا لك هذا مفيد جدا. كيف يمكنني تمييز كلمة بدلاً من لون الخط؟

التحيات.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرًا لك. كان ذلك مفيدًا حقًا. هل يمكن لأي شخص أن يخبرنا عن كيفية تلوين النص بدلاً من تمييزه؟

التحيات
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحباً الشيخ فاياز حمد ،

لا يسمح Excel بتلوين جزء من الخلية. أنا آسف لا أستطيع مساعدتك في هذه المشكلة.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
بونجور كريستال ،
Merci pour CE Code. Est-il possible de l'adapter pour mettre en évidence plusieurs mots "Apple، Rose، Vert، Merci"
شكرا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا كس ،

يمكن أن يساعد رمز VBA التالي. بعد تشغيل الكود ، سيظهر لك مربع حوار. يرجى كتابة الكلمات التي تريد تمييزها وفصل بينها بفاصلة.
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/highlight.png
Sub HighlightStrings()
'Updated by Extendoffice 20230130
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    Dim xArr2
    On Error Resume Next
    xHStr = Application.InputBox("What is the string to highlight:", "KuTools For Excel", , , , , , 2)
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
    
    xArr2 = Split(xHStr, ",")
    For j = 0 To UBound(xArr2)
        xHStr = xArr2(j)
    
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            xArr = Split(xCell.Value, xHStr)
            xCount = UBound(xArr)
            If xCount > 0 Then
                xStrTmp = ""
                For I = 0 To xCount - 1
                    xStrTmp = xStrTmp & xArr(I)
                    xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3
                    xStrTmp = xStrTmp & xHStr
                Next
            End If
        Next
    Next
    
    Application.ScreenUpdating = True
End Sub
لا توجد تعليقات منشورة هنا حتى الآن
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة

تواصل معنا

حقوق التأليف والنشر © 2009 - شبكة الاتصالات العالمية.extendoffice.com. | كل الحقوق محفوظة. مشغل بواسطة ExtendOffice. | | خريطة الموقع
Microsoft وشعار Office هما علامتان تجاريتان أو علامتان تجاريتان مسجلتان لشركة Microsoft Corporation في الولايات المتحدة و / أو دول أخرى.
محمي بواسطة Sectigo SSL