السلام عليكم ورحمة الله وبركاته
اليوم أعرض علي حضراتكم كودى الجديد هذا الكود يساعدك على تحديد الخلايا التى تحتوى على حرف محدد
و بناء عليه يمكن تنفيذ اجراءات أخرى على الخلايا المحددة كالنسخ أو الحذف أو .... أو .....الخ
الكود وعليه الشرح :
Option Explicit
Sub SCCSCharacter()
' الكود التالى لتحديد الخلايا التى تحتوى حرف
' By Mokhtar 3/12/2015
' المتغيرات
Dim SelectRange, MyRng As Range, C As Range, MyString As String
' فى حالة حدوث خطأ تجاهله وانتقل للأمر التالى
On Error Resume Next
' نطاق البحث
Set MyRng = Sheet1.Range("C2", Range("C" & Rows.Count).End(xlUp))
' النص الذى أبحث عنه
MyString = Sheets("Sheet1").Range("C1").Text
'الغاء تحديث الشاشة
Application.ScreenUpdating = False
'ازالة التنسيق عن نطاق البحث
MyRng.Interior.Pattern = xlNone
' حلقة تكرارية على كل خلايا نطاق البحث
For Each C In MyRng '
' فحص اذا ما كانت الخلايا تحتوى النص الذى نبحث عنه أم لا
If InStr(1, C.Value, MyString, vbTextCompare) > 0 Then '
If SelectRange Is Nothing Then ' شرط اذا لم يكن المتغير موجوداً
Set SelectRange = C ' جواب الشرط : اعتبر أن المتغير يساوى قيمة الخلية
Else 'اذا لم يتحقق الشرط
Set SelectRange = Union(SelectRange, C) ' جواب الشرط : اعتبر أن المتغير يساوى اتحاد المتغير مع الخلية
End If 'انهاء الشرط الاول
End If ' انهاء الشرط الثانى
Next ' الانتقال الى الخلية التالية
If SelectRange Is Nothing Then ' اذا لم يكن المتغير موجودا
MsgBox "الحرف :" & " " & "( " & MyString & " )" & " " & "لا يوجد فى الكلمات": Exit Sub ' رسالة للمستخدم بأن المتغير غير موجود بالنطاق وانهاء الاجراء
Else ' اذا لم يتحقق الشرط
' CopyRange.Select
SelectRange.Interior.ColorIndex = 38 ' قم بتلوين الخلية التى تحتوى المتغير باللون 38
End If ' انهاء الشرط
Application.ScreenUpdating = True ' اعادة تفعيل تحديث الشاشة
End Sub ' انهاء الاجراء
المرفق لالالالالالالالالالالالالالالالالالالالالالالالالالالالالالالالا يوجد
طبق الكود كالتالى :
الخلية C1 أدخل فيها الحرف الذى تبحث عنه ( يمكن عمل قائمة منسدلة فيها بالحروف )
النطاق من C2 الى C10 أدخل به مثلا مجموعة كلمات وجرب الكود
أرجو أن أكون قد قدمت لكم شيئا جديدا و مفيدا هذا من وجهة نظرى على الأقل و الرأى لحضراتكم - بعد تجربة الكود - فى النهاية
والسلام عليكم ورحمة الله وبركاته