logo

لوحة التميز الأسبوعي
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
ابوحنين لا تميز خلال هذه الفترة-- لا تميز خلال هذه الفترة YasserKhalil لا تميز خلال هذه الفترة اكسيل مشاريع جاهزه



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





09-07-2018 09:47 مساءً
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10534
رصيد العضو : 3
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36769
الاعجاب : 191
السلام عليكم ورحمة الله وبركاته

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

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

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

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

وهنا حددنا نهاية النطاق لأننا قد نكون نعرف مسبقاً حجم البيانات التي لدينا ، أما إذا كنا نجهل حجم البيانات فإننا نقوم بمعرفة رقم آخر صف وعلى أساسه نقوم بتحديد النطاق .. وقد قدمت من قبل درس كامل في هذه النقطة
وإليكم مثال بسيط
CODE
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

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

CODE
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 .. وفي الأسطر التالية كيفية التعامل مع النطاق ومعرفة عنوان النطاق أو قيمة النطاق لأي خلية داخل النطاق ..
أترككم مع تجربة الكود بأنفسكم ...

حمل الملف المرفق من هنا

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


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



look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
  09-07-2018 10:23 مساءً   [1]
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 1580
رصيد العضو : 0
الدولة : مصر
الجنس :
تاريخ الميلاد : 1-9-1995
الدعوات : 5
قوة السمعة : 10861
الاعجاب : 6
موقعي : زيارة موقعي
جزاك الله خيرا استاذى الحبيب على تلك الموضوعات القيمه والفريده 81




look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
  09-07-2018 10:46 مساءً   [2]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10534
رصيد العضو : 3
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36769
الاعجاب : 191
وجزيت خيراً أخي الحبيب إسلام ومشكور على أنك أول من ترد على الموضوع يا غالي
تقبل وافر تقديري واحترامي




look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
  10-07-2018 06:29 صباحاً   [3]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 2
المشاركات : 1824
رصيد العضو : 0
الجنس :
الدعوات : 21
قوة السمعة : 20048
الاعجاب : 12
موقعي : زيارة موقعي

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




توقيع :الصقر

اخى العضو الكريم
اذا كنت ترى ان المنتدى مفيد لك
فكن سفيرا لنا بدعوة الاخرين للانضمام معنا
فالدال على الخير كفاعله


look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
  10-07-2018 07:12 صباحاً   [4]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10534
رصيد العضو : 3
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36769
الاعجاب : 191
جزاك الله خيراً أخي الغالي حسام ومشكور على مرورك العطر

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




look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
  10-07-2018 01:57 مساءً   [5]
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 1580
رصيد العضو : 0
الدولة : مصر
الجنس :
تاريخ الميلاد : 1-9-1995
الدعوات : 5
قوة السمعة : 10861
الاعجاب : 6
موقعي : زيارة موقعي
حليت الهوم وورك يامستر biggrin2
CODE
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




look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
  10-07-2018 06:40 مساءً   [6]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10534
رصيد العضو : 3
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36769
الاعجاب : 191
تمام يا سمسم .... بس كدا إنت عقدتها
الموضوع أبسط من كدا .. أنا لما أدي واجب لازم يكون سهل إنك تعمله مش صعب
عموماً هسهلها عليك .. استخدم Columns و Rows وبس وبين قوسين بتحدد العمود أو الصف اللي إنت عايزه




look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
  10-07-2018 06:51 مساءً   [7]
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 1580
رصيد العضو : 0
الدولة : مصر
الجنس :
تاريخ الميلاد : 1-9-1995
الدعوات : 5
قوة السمعة : 10861
الاعجاب : 6
موقعي : زيارة موقعي
تصدق اسهل laugh
اتفضل امستر الهووم ورك التانى biggrin2
CODE
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




look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
  10-07-2018 07:01 مساءً   [8]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10534
رصيد العضو : 3
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36769
الاعجاب : 191
الله ينور يا سمسم ..كدا تمام التمام
بارك الله فيك ومشكور على التفاعل مع الموضوع وأرجو من الجميع التفاعل ومحاولة الإرتقاء




look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
  10-07-2018 07:30 مساءً   [9]
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 1580
رصيد العضو : 0
الدولة : مصر
الجنس :
تاريخ الميلاد : 1-9-1995
الدعوات : 5
قوة السمعة : 10861
الاعجاب : 6
موقعي : زيارة موقعي
ان شاء الله نجد من يتفاعل اكثر
فالاكتفاء بالمشاهده لا يزيد من الخبره شئ 81




look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
  10-07-2018 07:51 مساءً   [10]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10534
رصيد العضو : 3
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36769
الاعجاب : 191
تسلم أخي الحبيب إسلام
السؤال التالي :
قم بإظهار عدد صفوف النطاق الحالي ؟ وكذلك عدد أعمدة النطاق الحالي؟
إسلام يمتنع عن الإجابة ..نريد التفاعل من بقية الأخوة ...




look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
  11-07-2018 06:42 مساءً   [11]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10534
رصيد العضو : 3
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36769
الاعجاب : 191
ألا من متفاعل؟

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




look/images/icons/i1.gif تحديد النطاق باستخدام CurrentRegion (درس تعليمي)
  11-07-2018 06:52 مساءً   [12]
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 1580
رصيد العضو : 0
الدولة : مصر
الجنس :
تاريخ الميلاد : 1-9-1995
الدعوات : 5
قوة السمعة : 10861
الاعجاب : 6
موقعي : زيارة موقعي
للاسف اكتر الناس كدا تريد وحسب
الهوم وورك اهو biggrin2
CODE
Sub test2()
Dim r As Range
Set r = Range("D4").CurrentRegion
'عدد صفوف النطاق الحالى
Debug.Print r.Rows.Count
'عدد أعمدة النطاق الحالى
Debug.Print r.Columns.Count
End Sub




اضافة رد جديد اضافة موضوع جديد
الصفحة 2 من 3 < 1 2 3 >





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









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

الساعة الآن 02:30 AM