توضيحات ومقارنات مهمة
كيف يتم تسمية النطاق ؟
هناك طرق ثلاث لتسمية النطاق
الأولى :
تحديد عدد من الخلايا بالماوس ثم الذهاب الى هذا المستطيل
الذى يظهر به اسم الخلية ونقوم بكتابة اسم النطاق ثم نضغط
على زر الادخال
الثانية :
Formules > Define Name > Name > Write The Name > Press OK
الثالثة :
Formules > Name manger > New > Write The Name > Press OK
ملاحظة :
اذا كان اسم النطاق مكون من كلمتين لا تستخدم المسافات اثناء تسمية النطاق وانت بداخل الشيت لأنه لن يقبل الاكسل المسافات ويمكن التعويض عن المسافة بوضع علامة مثل ( _ ) التي تسمى Under Scour .
الـ Select و الـ Active
بكل بساطة الـ Select هو تحديد الخلية أي النقر على الخلية ، ولكن لم يتم تنشيطها في الـ Formula Bar شريط الصيغة.أما الـ Active هو أيضا تحديد الخلية ولكن يجعلها في حالة تنشيط قابلة لإدخال قيم نصية أو قيم عددية ..الخ بداخلها ، أي تم تنشيطها في الـ Formula Bar شريط الصيغة ، وقد يكون الـ Active واقع داخل نطاق الخلايا التي تم تحديدها بواسطة الـ Select أو خارجها .
'https://elshriefacademy.blogspot.com
Sub SelectActivate()
Range("A1:D4").Select
Range("B2").Activate
End Sub
مقارنة للتوضيح بين كلا من : Cell , Range , Offset
يبين الجدول التالي نظرة عامة على هذه الخصائص الثلاث
أولا : Cell
تأخذ الخاصية Cells الوسيطتين ( رقم الصف ورقم العمود ) ، وهذا يعني أنه يمكنك استخدام رقم لتعيين الصف والعمود في وقت التشغيل ، وما يأتي بين القوسين هو خلية واحدة فقط.
أولا : Cell
تأخذ الخاصية Cells الوسيطتين ( رقم الصف ورقم العمود ) ، وهذا يعني أنه يمكنك استخدام رقم لتعيين الصف والعمود في وقت التشغيل ، وما يأتي بين القوسين هو خلية واحدة فقط.
مثال | النتيجية |
---|---|
(Cells(1,1 | A1 |
(Cells(10,1 | A10 |
(Cells(2,5 | E2 |
((Range(Cells(1,1),Cells(3,3 | استخدام الـ Cells في تحديد نطاق Range of cells A1 , C3 |
ثانيا : Range
قد تكون خلية واحدة أو عدة خلايا ، وتكتب بشكلها العادي أي شكل عنوان الخلية .
مثال | النتيجية |
---|---|
("Range("A1 | A1 |
("Range("A1:C5 | Range Frome A1 To C5 |
("Range("A1,C1,E1,G1 | عدة خلايا متفرقة A1,C1,E1,G1 |
("Range("A12:D20 C15:F20 | نطاقين بينهم تقاطع A12:D20 C15:F20 |
("Range("my_range | تحديد نطاق تم تسميته باسم my_range |
ثالثا : Offset
هي الإزاحة وتحسب عددًا من الخلايا من النطاق الأصلي أو الخلية النشطة يستغرق معلمتين
( إزاحة الصف وإزاحة العمود).
( إزاحة الصف وإزاحة العمود).
مثال | النتيجية |
---|---|
(Range("A1").Offset(1,0 | A2 |
(Range("A1").Offset(0,1 | B1 |
(Range("B2:C3").Offset(2,2 | Range D4:E5 |
Sheet
التى بدون أقواس هى رمز ورقة العمل ويطلق عليها Code Name
الثانية التى تقع بين أقواس نصف دائرية هى اسم ورقة العمل WorkSheet Name
اذا استخدمنا اسم رمز ورقة العمل في الكود ستظل الشفرة البرمجية
تعمل حتى لو قمنا بتغيير اسم ورقة العمل ويمكن التعويض عنها بالشفرة البرمجية برقمها .
Worksheets("Sheet1").Range("A2").Value = 75
Sheets("Sheet1").Range("B2").Value = 75
Sheets(2).Cells(3,3).Text = "some text"
اذا تم استخدام اسم ورقة العمل في الشفرة البرمجية ، فلو قمنا بتغيير اسم ورقة العمل يجب أن يتم تغييرها في الشفرة البرمجية ، لأنه في حالة عدم تغييرها بالشفرة لن يعمل الكود
أمور يجب مراعاتهاعند ادخال بيانات بورقة العمل
هناك فرق بين "أوراق العمل = Worksheets" ، ومجموعة "جداول البيانات = Sheets collection "
فتتضمن مجموعة "جداول البيانات" جميع الأوراق ، بما في ذلك أوراق المخطط.
Worksheets("Sheet1").Range("C2").Value = 1980
Sheets("Sheet1").Range("C3").Value = 1980
Sheets(2).Cells(4,3).Text = "Mahmoud Zaki Elshrief"
في حالة استخدامك أو فتح عدة ملفات في آن واحد يفضل استخدام هذا السطر البرمجي التالي حتى يكون أكثر تخصيصا :
ThisWorkbook.Worksheets("Sheet1").Range("A1")
مسح محتويات نطاق
إليك عده أمثلة لمسح محتويات نطاق ، يمثل كل سطر برمجي مما يلي طريقة مختلفة (( مسح البيانات بدون مسح المعادلات إن وجدت )) بإستخدام (ClearContents):
Range("my_range").ClearContents
ActiveSheet.Cells(2,3).ClearContents
Range ( "A1" ).ClearContents
Rows("5:8").ClearContents
Columns("D:F").ClearContents
Range("A1,B1,C1,D1").ClearContents
Cells(5,2).ClearContents
Range("A1:D4").ClearContents
Range("A12:D20 C15:F20").ClearContents
Sheets("sheet1").Range("B8,D8").ClearContents