بسم الله الرحمن الرحيم
اهلا بكم متابعى موقع عالم الاوفيس
درس جديد اليوم وكود جديد من اكواد اكسل vba وسنتناول اليوم بالشرحسؤال لاحد الاصدقاء والمتابعين لموقع عالم الاوفيس
كيف اتحقق من ان الارقام القومية الموجودة فى خلية معينة لا تزيد او تقل عن 14 رقم ؟
هناك مجموعة من الحلول لهذا السؤال وبطرق مختلفة ومن ابرز هذة الطرق1- التنسيق الشرطى (Condition formating)
2- اداة التحقق من الصحه (Data valdition)
ولكن صديقنا العزيز لم يفضل هذة الطرق هو يريد الاجابة بكود من اكواد الاكسل vba
سنبدأ على بركة الله فى شرح الموضوع من خلال مجموعة من الخطوات سنشرحها بالتفصيل معكم
1- لو نفرض ان عندنا جدول يحتوى على هذة البيانات
مثل ما تلاحظون حضراتكم عندنا مجموعة كبيرة من البيانات وايضا مجموعة كبيرة من الارقام القوميه ونريد ان نفحص هذة الارقام
مرة واحدة بضغطة على زر واحد فقط
2 - ندخل على محرر الاكواد developer tab
ونعمل ادراج وحدة نمطية جديدة Insert Moduel
()Sub test
3 -وبعد ذلك نعرف مجموعة من المتغيرات
Dim lr As Integer
Dim a As Long
Dim i
فى هذا المثال نريد التحقق من الرقم القومى اللى هو بيساوى 14 رقم
4- فالبتالى المتغير ( a ) هو يساوى رقم التحقق
a = 14
5 - وبعد ذلك سوف نبحث عن اخر صف فية بيانات فى الجدول لدينا وهو المتغير ( lr ) وسوف نحدد قيمتة من خلال الكود التالى
lr = Sheet1.Cells(Rows.Count, 2).End(xlUp).Row
6- ثم بعد ذلك نعمل حلقة تكرارية For Next
For i = 5 To lr
7- الخطوة المهمة الان هو ان ندرج دالة تتحقق من عدد الارقام الموجودة فى الخلية بحيث تكون لو اكبر من 14 رقم او اقل من 14 رقم يعطينا تنبية هذة الدالة هـــى الدالة ( LEN )
من خلال هذا الكود
If Len(Cells(i, 2)) > a Then
Range(Cells(i, 1), Cells(i, 2)).Interior.ColorIndex = 3
Cells(i, 3).Value = "number max 14 "
ElseIf Len(Cells(i, 2)) < a Then
Range(Cells(i, 1), Cells(i, 2)).Interior.ColorIndex = 4
Cells(i, 3).Value = "number min 14"
Else
Range(Cells(i, 1), Cells(i, 2)).Interior.ColorIndex = 2
Cells(i, 3).Value = "number equal 14 "
End If
Next i
وبكدة نكون انتهينا من شرح الكود بالتفصيل
اذا اعجبك الموضوع لاتبخل علينا بمشاركته مع اصدقائك
فى حالة اى سؤال يمكنك ترك تعليق اسفل الموضوع