اعلن هنا
أكاديمية الصقر للتدريب
أعلن هنا
أعلن هنا
صفحتنا على الفيس بوك
أعلن هنا



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





تحديد النطاق باستخدام CurrentRegion (درس تعليمي)

السلام عليكم ورحمة الله وبركاته إخواني وأحبابي في الله يسعدني ان أقدم لكم درس تعليمي بسيط عله يكون لبنة في بناء هذا ال ..



09-07-2018 09:47 مساء
YasserKhalil
menu_open عضوية موثقة
مراقب عام
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 3605
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 11
يتابعهم : 0
يتابعونه : 284
قوة السمعة : 9989
الاعجاب : 3438
 offline 





السلام عليكم ورحمة الله وبركاته

إخواني وأحبابي في الله

يسعدني ان أقدم لكم درس تعليمي بسيط عله يكون لبنة في بناء هذا الصرح العملاق .. والدرس سيكون في التعامل مع النطاق واستخدام الخاصية CurrentRegion
بفرض أن لديك بيانات في ورقة العمل والبيانات تبدأ من الخلية A1 .. 
تعودنا للإشارة للنطاق أن نقوم باستخدام Range يليها قوس ثم قوس تنصيص ونكتب النطاق المطلوب ثم تغلق الأقواس بهذا الشكل
Range("A1").Select

وهنا استخدمنا الحدث Select لاختيار الخلية 

وللإشارة إلى نطاق أكبر من خلية واحدة .. تكون العملية مشابهة لما سبق ، بهذا الشكل
Range("A1:C10").Select

وهنا حددنا نهاية النطاق لأننا قد نكون نعرف مسبقاً حجم البيانات التي لدينا ، أما إذا كنا نجهل حجم البيانات فإننا نقوم بمعرفة رقم آخر صف وعلى أساسه نقوم بتحديد النطاق .. وقد قدمت من قبل درس كامل في هذه النقطة 
وإليكم مثال بسيط
Sub Last_Row()
    Dim lr As Long
    
    lr = Cells(Rows.Count, 1).End(xlUp).Row
    
    Range("A1:C" & lr).Select
End Sub


** الآن نتعرف على الخاصية CurrentRegion ومعناها النطاق الحالي .. ولفهم الخاصية قم بتحديد الخلية A1 في البيانات بالشكل التالي ثم اضغط Ctrl + A >>
ToPzvwSSMojcDw8

ستجد أن النطاق من أول الخلية A1 وحتى الخلية C10 تم تحديده .. ولكن السؤال لما لم يتم تحديد العمود E مع النطاق ؟ أوليس هذا من ضمن النطاق الحالي؟
الإجابة : لا ليس ضمن النطاق والسبب هو أن العمود الرابع D فارغ تماماً من البيانات مما جعل النطاق الحالي للخلية A1 يفصل هذا الجزء عن النطاق 
>> جرب وضع أي بيان في أي خلية في النطاق من D1 إلى D10 .. ثم حدد الخلية A1 واضغط Ctrl + A ستجد أن النطاق الحالي سيكون من A1 وحتى E10

نفس الكلام مع الصفوف .. أي إذا وجد صف فارغ فإنه سيكون فاصل بين النطاق الحالي والنطاق الذي يليه
جرب مسح كلمة Note في الخلية C9 وكرر عملية التحديد سنجد أن النطاق الحالي للخلية A1 ممتد من A1 إلى C8

** مثال تطبيقي :

Sub CurrentRegion_Demo()
    Dim r As Range
    
    Set r = Range("D4").CurrentRegion
    
    MsgBox "Current Region Address For D4 Is | " & r.Address
    
    MsgBox "First Cell In The Current Region Is | " & r(1).Address
    
    MsgBox "Last Cell In The Current Region Is | " & r(r.Count).Address
    
    MsgBox "Row 9 Column 3 In Current Region Is | " & r(9, 3).Value
    
    MsgBox "Offset From D4 With 3 Rows Down | " & r(1).Offset(3).Value
End Sub


بالنظر إلى الشكل التالي 
DP5SREN01xqFiMm

قم بوضع الكود السابق في موديول عادي ثم استخدم مفتاح F8 لتتبع تنفيذ الكود سطر بسطر
أول ضغطة لمفتاح F8 ستجد في نافذة اللوكال أن قيمة النطاق r تساوي Nothing أي لا شيء لأنه لم يتم تعيين قيمة للنطاق بعد ..
وبالضغط مرتين على F8 ستجد أنه تم تعيين النطاق ليكون النطاق الحالي للخلية D4 .. وفي الأسطر التالية كيفية التعامل مع النطاق ومعرفة عنوان النطاق أو قيمة النطاق لأي خلية داخل النطاق ..
أترككم مع تجربة الكود بأنفسكم ...

لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب

أرجو أن يكون الدرس مفيد لكم ، وأترككم في رعاية الله
كان معكم أخوكم في الله / ياسر خليل أبو البراء
 
 


أثارت هذه المشاركة إعجاب: Eslam Abdullah، محمد حسن المحمد،





09-07-2018 10:23 مساء
مشاهدة مشاركة منفردة [1]
Eslam Abdullah
menu_open
مشرف قسم الاكسيل
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 757
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
الدعوات : 2
يتابعهم : 3
يتابعونه : 45
قوة السمعة : 4681
الاعجاب : 1273
 offline 
look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
جزاك الله خيرا استاذى الحبيب على تلك الموضوعات القيمه والفريده 81

أثارت هذه المشاركة إعجاب: YasserKhalil، محمد حسن المحمد،




09-07-2018 10:46 مساء
مشاهدة مشاركة منفردة [2]
YasserKhalil
menu_open عضوية موثقة
مراقب عام
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 3605
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 11
يتابعهم : 0
يتابعونه : 284
قوة السمعة : 9989
الاعجاب : 3438
 offline 
look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
وجزيت خيراً أخي الحبيب إسلام ومشكور على أنك أول من ترد على الموضوع يا غالي
تقبل وافر تقديري واحترامي

أثارت هذه المشاركة إعجاب: Eslam Abdullah، محمد حسن المحمد،




10-07-2018 06:29 صباحا
مشاهدة مشاركة منفردة [3]
الصقر
menu_open عضوية موثقة
مراقب عام
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 2
المشاركات : 1266
الجنس : ذكر
الدعوات : 11
يتابعهم : 0
يتابعونه : 320
قوة السمعة : 9275
الاعجاب : 2268
 offline 
look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)

ما شاء الله رجعنا لشغل افتح الباب يا عبتواب biggrin2 
رائع اخى الحبيب ابوبراء
زادك الله علما ونفع بك
142


أثارت هذه المشاركة إعجاب: YasserKhalil، Eslam Abdullah،




10-07-2018 07:12 صباحا
مشاهدة مشاركة منفردة [4]
YasserKhalil
menu_open عضوية موثقة
مراقب عام
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 3605
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 11
يتابعهم : 0
يتابعونه : 284
قوة السمعة : 9989
الاعجاب : 3438
 offline 
look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
جزاك الله خيراً أخي الغالي حسام ومشكور على مرورك العطر

* سؤال للتدريب على البحث والمحاولة لمن يريد التفاعل :
كيف يمكن إظهار عنوان العمود الثاني للنطاق الحالي في رسالة؟
كيف يمكن عنوان الصف الخامس للنطاق الحالي في رسالة؟
تقبلوا تحياتي

أثارت هذه المشاركة إعجاب: Eslam Abdullah،




10-07-2018 01:57 مساء
مشاهدة مشاركة منفردة [5]
Eslam Abdullah
menu_open
مشرف قسم الاكسيل
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 757
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
الدعوات : 2
يتابعهم : 3
يتابعونه : 45
قوة السمعة : 4681
الاعجاب : 1273
 offline 
look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
حليت الهوم وورك يامستر biggrin2
Sub test()
Dim r As Range
Set r = Range("D4").CurrentRegion
'عنوان العمود الثاني للنطاق الحالي في رسالة
  MsgBox Range(Cells(4, 5), Cells(r(r.Count).Row, 5)).Address
  'عنوان الصف الخامس للنطاق الحالي في رساله
  MsgBox Range(Cells(8, 4), Cells(8, r(r.Count).Column)).Address
End Sub

أثارت هذه المشاركة إعجاب: YasserKhalil،




10-07-2018 06:40 مساء
مشاهدة مشاركة منفردة [6]
YasserKhalil
menu_open عضوية موثقة
مراقب عام
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 3605
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 11
يتابعهم : 0
يتابعونه : 284
قوة السمعة : 9989
الاعجاب : 3438
 offline 
look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
تمام يا سمسم .... بس كدا إنت عقدتها 
الموضوع أبسط من كدا .. أنا لما أدي واجب لازم يكون سهل إنك تعمله مش صعب
عموماً هسهلها عليك .. استخدم Columns و Rows وبس وبين قوسين بتحدد العمود أو الصف اللي إنت عايزه 
 

أثارت هذه المشاركة إعجاب: Eslam Abdullah،




10-07-2018 06:51 مساء
مشاهدة مشاركة منفردة [7]
Eslam Abdullah
menu_open
مشرف قسم الاكسيل
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 757
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
الدعوات : 2
يتابعهم : 3
يتابعونه : 45
قوة السمعة : 4681
الاعجاب : 1273
 offline 
look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
تصدق اسهل laugh
اتفضل امستر الهووم ورك التانى biggrin2
Sub test()
Dim r As Range
Set r = Range("D4").CurrentRegion
'عنوان العمود الثاني للنطاق الحالي في رسالة
'  MsgBox Range(Cells(4, 5), Cells(r(r.Count).Row, 5)).Address
MsgBox r.Columns(2).Address
'عنوان الصف الخامس للنطاق الحالي في رساله
'  MsgBox Range(Cells(8, 4), Cells(8, r(r.Count).Column)).Address
MsgBox r.Rows(5).Address
End Sub

أثارت هذه المشاركة إعجاب: YasserKhalil،




10-07-2018 07:01 مساء
مشاهدة مشاركة منفردة [8]
YasserKhalil
menu_open عضوية موثقة
مراقب عام
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 3605
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 11
يتابعهم : 0
يتابعونه : 284
قوة السمعة : 9989
الاعجاب : 3438
 offline 
look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
الله ينور يا سمسم ..كدا تمام التمام
بارك الله فيك ومشكور على التفاعل مع الموضوع وأرجو من الجميع التفاعل ومحاولة الإرتقاء

أثارت هذه المشاركة إعجاب: Eslam Abdullah،




10-07-2018 07:30 مساء
مشاهدة مشاركة منفردة [9]
Eslam Abdullah
menu_open
مشرف قسم الاكسيل
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 757
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
الدعوات : 2
يتابعهم : 3
يتابعونه : 45
قوة السمعة : 4681
الاعجاب : 1273
 offline 
look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
ان شاء الله نجد من يتفاعل اكثر
فالاكتفاء بالمشاهده لا يزيد من الخبره شئ 81

أثارت هذه المشاركة إعجاب: YasserKhalil،




10-07-2018 07:51 مساء
مشاهدة مشاركة منفردة [10]
YasserKhalil
menu_open عضوية موثقة
مراقب عام
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 3605
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 11
يتابعهم : 0
يتابعونه : 284
قوة السمعة : 9989
الاعجاب : 3438
 offline 
look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
تسلم أخي الحبيب إسلام
السؤال التالي :
قم بإظهار عدد صفوف النطاق الحالي ؟ وكذلك عدد أعمدة النطاق الحالي؟
إسلام يمتنع عن الإجابة ..نريد التفاعل من بقية الأخوة ... 

أثارت هذه المشاركة إعجاب: Eslam Abdullah،




11-07-2018 06:42 مساء
مشاهدة مشاركة منفردة [11]
YasserKhalil
menu_open عضوية موثقة
مراقب عام
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 3605
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 11
يتابعهم : 0
يتابعونه : 284
قوة السمعة : 9989
الاعجاب : 3438
 offline 
look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
ألا من متفاعل؟

لما التكاسل عن التفاعل مع الموضوعات إخواني الكرام؟ .. هذا لا يشجع على تقديم المزيد على الإطلاق

أثارت هذه المشاركة إعجاب: Eslam Abdullah،




11-07-2018 06:52 مساء
مشاهدة مشاركة منفردة [12]
Eslam Abdullah
menu_open
مشرف قسم الاكسيل
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 757
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
الدعوات : 2
يتابعهم : 3
يتابعونه : 45
قوة السمعة : 4681
الاعجاب : 1273
 offline 
look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
للاسف اكتر الناس كدا تريد وحسب
الهوم وورك اهو biggrin2
Sub test2()
Dim r As Range
Set r = Range("D4").CurrentRegion
'عدد صفوف النطاق الحالى
Debug.Print r.Rows.Count
'عدد أعمدة النطاق الحالى
Debug.Print r.Columns.Count
End Sub

أثارت هذه المشاركة إعجاب: YasserKhalil،






الكلمات الدلالية
تحديد ، النطاق ، باستخدام ، CurrentRegion ، (درس ، تعليمي) ،


 







اخلاء مسئولية: يخلى منتدى أكاديمية الصقر للتدريب مسئوليته عن اى مواضيع او مشاركات تندرج داخل الموقع ويحثكم على التواصل معنا ان كانت هناك اى إنتهاكات تتضمن اى انتهاك لحقوق الملكية الفكرية او الادبية لاى جهة - بالتواصل معنا من خلال نموذج مراسلة الإدارة .وسيتم اتخاذ الاجراءات اللازمة.
سياسة النشر: التعليقات المنشورة لا تعبر عن رأي منتدى أكاديمية الصقر للتدريب ولا نتحمل أي مسؤولية قانونية حيال ذلك ويتحمل كاتبها مسؤولية النشر.



الساعة الآن 10:02 صباحا

أعلن هنا
أعلن هنا
أعلن هنا