كيفية تمييز نص معين داخل خلية بناءً على نص آخر؟
في Excel ، قد يكون من السهل علينا تمييز الخلايا بناءً على نص معين ، ولكن ، هنا ، أريد إبراز نص معين داخل خلية لجعله مميزًا ولكن ليس الخلية بأكملها. ربما يكون هذا مزعجًا لمعظمنا. في هذه المقالة سأتحدث عن بعض الحيل لحل هذه الوظيفة في Excel.
قم بتمييز نص محدد أو أكثر داخل خلايا متعددة باستخدام رمز VBA
على سبيل المثال ، لدي مجموعة من السلاسل النصية ، والآن أريد إبراز النص المحدد "سماء"في هذه الخلايا للحصول على النتيجة كما هو موضح في لقطات الشاشة التالية:
لتمييز جزء فقط من النص داخل خلية ، يمكن أن تساعدك تعليمات VBA البرمجية التالية.
1. حدد الخلايا التي تريد تمييز النص المحدد ، ثم اضغط باستمرار على ALT + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.
2. انقر إدراج > وحدة، والصق الكود التالي في ملف وحدة نافذة او شباك.
كود فبا: تمييز جزء من النص داخل خلية:
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 الزر ، تم تمييز كل النص الذي حددته داخل الخلايا فقط ، انظر لقطة الشاشة:
رمز فبا: تمييز كلمات رئيسية متعددة من سلاسل نصية:
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 ، فسأقدم لك هنا أداة سهلة - كوتولس ل إكسيل، بما لديها وضع علامة على الكلمة الرئيسية ميزة ، يمكنك تمييز كلمة رئيسية معينة أو أكثر مرة واحدة داخل الخلايا.
بعد تثبيت كوتولس ل إكسيليرجى القيام بما يلي:
1. انقر كوتولس > نص > وضع علامة على الكلمة الرئيسية، انظر لقطة الشاشة:
2. في وضع علامة على الكلمة الرئيسية مربع الحوار ، يرجى القيام بالعمليات التالية:
- حدد نطاق البيانات الذي تريد استخدامه من ملف الفترة (من ... إلى) مربع الكتابة؛
- حدد الخلايا التي تحتوي على الكلمات الرئيسية التي تريد تمييزها ، كما يمكنك إدخال الكلمات الرئيسية يدويًا (مفصولة بفاصلة) في ملف البحث عن كلمة مربع النص
- أخيرًا ، يجب عليك تحديد لون الخط لإبراز النصوص عن طريق التحقق تمييز ألوان الكلمات الرئيسية اختيار. (لتلوين الخلايا بالكامل التي تحتوي على الكلمات الأساسية ، حدد ملف قم بتمييز ألوان محتوى الخلية خيار)
3. ثم اضغط Ok زر ، تم تمييز جميع النصوص المحددة كما هو موضح أدناه لقطة الشاشة:
ملاحظات: هذه الميزة ليست حساسة لحالة الأحرف ، إذا كنت تريد تمييز النص بحساسية حالة الأحرف ، يرجى التحقق مطابقة حالة الأحرف في ال وضع علامة على الكلمة الرئيسية صندوق المحادثة.
قم بتمييز نص معين داخل خلية بناءً على نص آخر برمز VBA
هنا موقف آخر ، لدي عمودين يحتوي العمود الأول على سلاسل النص والعمود الثاني هو النص المحدد ، والآن ، أحتاج إلى تمييز النص النسبي في العمود الأول بناءً على النص المحدد في العمود الثاني لكل صف.
1. اضغط باستمرار على ALT + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.
2. انقر إدراج > وحدة، والصق الكود التالي في ملف وحدة نافذة او شباك.
كود فبا: قم بتمييز جزء من النص داخل خلية بناءً على نص آخر:
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 ، بعد ربط قيمتي خلية مع الصيغ ، قد تجد أنه لن يكون جزءًا غامقًا من النص في خلية الصيغة المدمجة. قد يكون هذا مزعجًا في بعض الأحيان ، كيف يمكنك جعل نص الجزء الغامق عند تسلسل عمودين في Excel؟
- أعمدة الخلية المتسلسلة والحفاظ على لون النص في Excel
- كما نعلم جميعًا ، أثناء ربط أعمدة الخلية أو دمجها في عمود واحد ، سيتم فقد تنسيق الخلية (مثل لون خط النص وتنسيق الأرقام وما إلى ذلك). في هذه المقالة ، سأقدم بعض الحيل لدمج أعمدة الخلية في واحدة والحفاظ على لون النص بسهولة قدر الإمكان في Excel.
- عرض نص معين بناءً على القيم في عمود آخر
- لنفترض أن لدي قائمة بالأرقام ، الآن ، أريد عرض نص معين في عمود آخر بناءً على أرقام الأعمدة هذه. على سبيل المثال ، إذا كان رقم الخلية بين 1-100 ، فأنا أريد عرض النص "تقليل" في الخلية المجاورة ، وإذا كان الرقم بين 101-200 ، فسيتم عرض النص "ثابت" ، وإذا كان الرقم أكبر من 200 ، يتم عرض نص "زيادة" كما هو موضح في لقطة الشاشة التالية. لحل هذه المهمة في Excel ، قد تساعدك الصيغ التالية في هذه المقالة.
- مجموع الخلايا مع النص والأرقام في Excel
- على سبيل المثال ، لدي قائمة بالقيم التي تحتوي على سلاسل رقمية ونصية ، الآن ، أريد جمع الأرقام بناءً على نفس النص فقط ، انظر إلى لقطة الشاشة التالية. عادة ، لا يمكنك جمع القيم الموجودة في القائمة بسلسلة نصية مباشرة ، هنا ، سأقدم لك بعض الصيغ للتعامل مع هذه المهمة.
أفضل أدوات إنتاجية المكتب
عزز مهاراتك في Excel باستخدام Kutools for Excel، واختبر كفاءة لم يسبق لها مثيل. يقدم Kutools for Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية وتوفير الوقت. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير
- تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
- فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
- يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!