أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

كيف يتم تحديد خلايا/نطاقات باستخدام إجراءات Visual Basic في Excel

انتهاء دعم Office 2003

لقد أنهت شركة Microsoft دعم Office 2003 في 8 أبريل، 2014. وقد أثر هذا التغيير على تحديثات البرامج لديك وخيارات الأمان الخاصة بك. تعرف على ما يعنيه ذلك فيما يتعلق بك وكيفية الحفاظ على حمايتك.

هام: تمت ترجمة هذه المقالة باستخدام برامج مايكروسوفت للترجمة الآلية ومن المحتمل ان يتم تحريرها او تدقيقها بعد ذلك من خلال تكنولوجيا منصة مجموعات الترجمة(CTF) او من خلال مترجم بشري. تقدم لك شركة مايكروسوفت هذه المقالات المترجمة بشكل آلي او بالترجمة البشرية او بعد تحريرها وتدقيقها من قبل مجموعات الترجمة حتى تمكنكم من الوصول إلى جميع المقالات الموجودة في قواعد المعرفة لديها بلغات مختلفة. إلا أن المقالات المترجمة قد تحتوي على أخطاء في المفردات او بناء الجمل او النحو. وعليه، فإن شركة مايكروسوفت ليست مسؤولة عن اية أخطاء او عدم دقة في الترجمة او أية أضرار قد تحدث نتيجة أخطاء في ترجمة محتويات النص او استخدامه من قبل العملاء.

اضغط هنا لرابط المقالة باللغة الانجليزية291308
معلومات أخرى
تقدم Microsoft أمثلة برمجية للتوضيح فقط، دون أي ضمان صريح أو ضمني. هذا يتضمن، لكن لا يقتصر على، الضمانات الضمنية الخاصة بالتسويق أو الملاءمة لغرض معين. تفترض هذه المقالة أنك معتاد على لغة البرمجة التي يتم شرحها والأدوات المستخدمة لإنشاء الإجراءات وتصحيحها. يساعد مهندسو الدعم لدى Microsoft في شرح وظيفة إجراء محدد، لكنهم لن يقوموا بتعديل هذه الأمثلة لتقديم وظيفة إضافية أو إنشاء إجراءات تستوفي متطلبات محددة. تستخدم الأمثلة الموجودة في هذه المقالة الطرق Visual Basic المسرودة في الجدول التالي.
   Method             Arguments   ------------------------------------------   Activate           none   Cells              rowIndex, columnIndex   Application.Goto   reference, scroll   Offset             rowOffset, columnOffset   Range              cell1                      cell1, cell2   Resize             rowSize, columnSize   Select             none   Sheets             index (or sheetName)   Workbooks          index (or bookName)   End                direction   CurrentRegion      none				
تستخدم الأمثلة الموجودة في هذه المقالة الخصائص في الجدول التالي.
   Property         Use   ---------------------------------------------------------------------   ActiveSheet      to specify the active sheet   ActiveWorkbook   to specify the active workbook   Columns.Count    to count the number of columns in the specified item   Rows.Count       to count the number of rows in the specified item   Selection        to refer to the currently selected range				

1: كيف يتم تحديد خلية على ورقة العمل النشطة

لتحديد الخلية D5 في ورقة العمل، يمكنك استخدام أي من الأمثلة التالية:
ActiveSheet.Cells(5, 4).Select				
-أو-
ActiveSheet.Range("D5").Select				

2: كيفية تحديد خلايا في ورقة عمل أخرى في نفس المصنف

لتحديد الخلية E6 في ورقة عمل أخرى في نفس المصنف، يمكنك استخدام أي من الأمثلة التالية:
Application.Goto ActiveWorkbook.Sheets("Sheet2").Cells(6, 5)				
   -or-				
Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))				
أو، يمكنك تنشيط ورقة العمل، ومن ثم استخدام الأسلوب 1 أعلاه لتحديد الخلية:
Sheets("Sheet2").ActivateActiveSheet.Cells(6, 5).Select				

3: كيفية تحديد خلايا في ورقة عمل في مصنف آخر

لتحديد الخلية F7 في ورقة عمل في مصنف مختلف، يمكنك استخدام أي من الأمثلة التالية:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Cells(7, 6)				
-أو-
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("F7")				
أو، يمكنك تنشيط ورقة العمل، ومن ثم استخدام الأسلوب 1 أعلاه لتحديد الخلية:
Workbooks("BOOK2.XLS").Sheets("Sheet1").ActivateActiveSheet.Cells(7, 6).Select				

4: كيفية تحديد نطاق خلايا في ورقة العمل النشطة

لتحديد نطاق C2:D10 في ورقة العمل، يمكنك استخدام أي من الأمثلة التالية:
ActiveSheet.Range(Cells(2, 3), Cells(10, 4)).Select				
ActiveSheet.Range("C2:D10").Select				
ActiveSheet.Range("C2", "D10").Select				

5: كيفية تحديد نطاق خلايا في ورقة عمل أخرى في نفس المصنف

لتحديد نطاق D3:E11 في ورقة عمل أخرى في نفس المصنف، يمكنك استخدام أي من الأمثلة التالية:
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3:E11")				
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3", "E11")				
أو يمكنك تنشيط ورقة العمل، ومن ثم استخدم الأسلوب 4 أعلاه لتحديد النطاق:
Sheets("Sheet3").ActivateActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select				

6: كيفية تحديد نطاق خلايا في ورقة عمل في مصنف آخر

لتحديد النطاق e4: f12 في ورقة عمل في مصنف مختلف، يمكنك استخدام أي من الأمثلة التالية:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4:F12")				
Application.Goto _      Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4", "F12")				
أو يمكنك تنشيط ورقة العمل، ومن ثم استخدم الأسلوب 4 أعلاه لتحديد النطاق:
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate   ActiveSheet.Range(Cells(4, 5), Cells(12, 6)).Select				

7: كيف يتم تحديد نطاق مسمى في ورقة العمل النشطة

لتحديد النطاق المسمى "اختبار" في ورقة العمل، يمكنك استخدام أي من الأمثلة التالية:
Range("Test").Select				
Application.Goto "Test"				

8: كيف يتم تحديد نطاق مسمى في ورقة عمل أخرى في نفس المصنف

لتحديد النطاق المسمى "اختبار" في ورقة عمل أخرى في نفس المصنف، يمكنك استخدام المثال التالي:
Application.Goto Sheets("Sheet1").Range("Test")				
أو، يمكنك تنشيط ورقة العمل، ثم استخدم أسلوب 7 أعلاه لتحديد النطاق المسمى:
Sheets("Sheet1").ActivateRange("Test").Select				

9: كيف يتم تحديد نطاق مسمى في ورقة عمل في مصنف آخر

لتحديد النطاق المسمى "اختبار" في ورقة عمل في مصنف مختلف، يمكنك استخدام المثال التالي:
Application.Goto _   Workbooks("BOOK2.XLS").Sheets("Sheet2").Range("Test")				
أو، يمكنك تنشيط ورقة العمل، ثم استخدم أسلوب 7 أعلاه لتحديد النطاق المسمى:
Workbooks("BOOK2.XLS").Sheets("Sheet2").ActivateRange("Test").Select				

10: كيفية تحديد نسبة خلية إلى الخلية النشطة

لتحديد خلية التي هي خمسة الصفوف أدناه أربعة أعمدة إلى يمين الخلية النشطة، يمكنك استخدام المثال التالي:
ActiveCell.Offset(5, -4).Select				
لتحديد خلية أعلاه صفين وثلاثة أعمدة إلى يمين الخلية النشطة، يمكنك استخدام المثال التالي:
ActiveCell.Offset(-2, 3).Select				
ملاحظة: يحدث خطأ إذا حاولت تحديد خلية موجودة "خارج ورقة العمل." المثال الأول الموضح أعلاه إلى إرجاع خطأ إذا كانت الخلية النشطة في الأعمدة من A إلى D, ومنذ نقل أربعة أعمدة لليسار ستتخذ الخلية النشطة إلى عنوان خلية غير صحيح.

11: كيفية تحديد نسبة خلية إلى أخرى (غير النشط) الخلية

لتحديد خلية التي هي خمسة الصفوف أدناه أربعة أعمدة إلى يمين الخلية C7، يمكنك استخدام أي من الأمثلة التالية:
ActiveSheet.Cells(7, 3).Offset(5, 4).Select				
ActiveSheet.Range("C7").Offset(5, 4).Select				

12: كيفية تحديد إزاحة نطاق من الخلايا من نطاق محدد

لتحديد نطاق من الخلايا بنفس حجم النطاق المسمى "اختبار" لكن هذا المزاحة أربعة صفوف لأسفل وثلاثة أعمدة إلى اليسار، يمكنك استخدام المثال التالي:
ActiveSheet.Range("Test").Offset(4, 3).Select				
إذا كان النطاق المسمى على آخر (غير النشط) تنشيط ورقة العمل هذه أول ورقة العمل، ثم قم بتحديد النطاق باستخدام التنسيق التالي:
Sheets("Sheet3").ActivateActiveSheet.Range("Test").Offset(4, 3).Select				

13: كيفية تحديد نطاق معين وتغيير حجم التحديد

لتحديد النطاق المسمى "قاعدة بيانات" وثم توسيع التحديد بمقدار خمسة صفوف، يمكنك استخدام المثال التالي:
Range("Database").SelectSelection.Resize(Selection.Rows.Count + 5, _   Selection.Columns.Count).Select				

14: كيفية تحديد نطاق محدد وإزاحة من تغيير حجمه

لتحديد صفوف نطاق أربعة أدناه وثلاثة أعمدة إلى يمين النطاق المسمى "قاعدة بيانات" وتتضمن صفين وعمود واحد أكثر من النطاق المسمى، يمكنك استخدام المثال التالي:
Range("Database").SelectSelection.Offset(4, 3).Resize(Selection.Rows.Count + 2, _   Selection.Columns.Count + 1).Select				

15: كيفية تحديد اتحاد اثنين أو أكثر من النطاقات المحددة

لتحديد الاتحاد (أي منطقة المدمجة) النطاقات المسماة اثنين "اختبار" و "نموذج"، يمكنك استخدام المثال التالي:
Application.Union(Range("Test"), Range("Sample")).Select				
لاحظ أنه يجب أن يكون كلا النطاقين على نفس ورقة العمل لكي يعمل هذا المثال. لاحظ أيضا أن يعمل الأسلوب الاتحاد عبر أوراق. على سبيل المثال، يعمل هذا الخط بشكل جيد
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet1!C3:D4"))				
ولكن هذا الخط
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet2!C3:D4"))				
تقوم بإرجاع رسالة الخطأ:
فشل توحيد أسلوب فئة التطبيق.

16: كيفية تحديد تقاطع اثنين أو أكثر تم تحديد النطاقات

لتحديد تقاطع نطاقين مسميين "اختبار" و "نموذج"، يمكنك استخدام المثال التالي:
Application.Intersect(Range("Test"), Range("Sample")).Select				
لاحظ أنه يجب أن يكون كلا النطاقين على نفس ورقة العمل لكي يعمل هذا المثال.



تشير الأمثلة من 17 إلى 21 في هذه المقالة إلى المجموعة التالية عينة من البيانات. كل مثال يوضح نطاق الخلايا في نموذج البيانات الذي يتم تحديده بشكل.
   A1: Name    B1: Sales    C1: Quantity   A2: a       B2: $10      C2: 5   A3: b       B3:          C3: 10   A4: c       B4: $10      C4: 5   A5:         B5:          C5:   A6: Total   B6: $20      C6: 20				

17: كيف يتم تحديد الخلية الأخيرة في عمود البيانات المتجاورة

لتحديد الخلية الأخيرة في عمود متجاور، استخدم التنسيق التالي:
ActiveSheet.Range("a1").End(xlDown).Select				
عند استخدام هذه التعليمة البرمجية باستخدام نموذج الجدول، سيتم تحديد الخلية A4.

18: كيف يتم تحديد خلية فارغة أسفل عمود البيانات القريبة

لتحديد الخلية الموجودة أسفل نطاق من الخلايا المتجاورة، استخدم التنسيق التالي:
ActiveSheet.Range("a1").End(xlDown).Offset(1,0).Select				
عند استخدام هذه التعليمة البرمجية باستخدام نموذج الجدول، سيتم تحديد الخلية A5.

19: كيفية تحديد نطاق كامل من الخلايا المتجاورة في عمود

لتحديد نطاق من الخلايا المتجاورة في عمود، استخدم أحد الأمثلة التالية:
ActiveSheet.Range("a1", ActiveSheet.Range("a1").End(xlDown)).Select				
   -or-				
ActiveSheet.Range("a1:" & ActiveSheet.Range("a1"). _      End(xlDown).Address).Select				
عند استخدام هذه التعليمة البرمجية باستخدام نموذج الجدول، سيتم تحديد الخلايا من A1 إلى A4.

20: كيفية تحديد كامل نطاق غير متجاورة الخلايا في عمود

لتحديد نطاق من الخلايا غير المتجاورة، استخدم أحد الأمثلة التالية:
ActiveSheet.Range("a1",ActiveSheet.Range("a65536").End(xlUp)).Select				
   -or-				
ActiveSheet.Range("a1:" & ActiveSheet.Range("a65536"). _   End(xlUp).Address).Select				
عند استخدام هذه التعليمة البرمجية باستخدام نموذج الجدول، سيحدد الخلايا من A1 إلى A6.

21: كيفية تحديد نطاق خلايا مستطيلة

لتحديد نطاق الخلايا حول خلية مستطيلة الشكل، استخدم الأسلوب CurrentRegion . النطاق المحدد بواسطة الأسلوب CurrentRegion منطقة محدودة بأي مجموعة من صفوف وأعمدة فارغة. ما يلي مثال لكيفية استخدام الأسلوب CurrentRegion :
ActiveSheet.Range("a1").CurrentRegion.Select				
هذه التعليمات البرمجية سيتم تحديد الخلايا من A1 إلى الفئة جيم/4. أمثلة أخرى لتحديد نفس نطاق الخلايا مذكورة أدناه:
ActiveSheet.Range("a1", _   ActiveSheet.Range("a1").End(xlDown).End(xlToRight)).Select				
   -or-				
ActiveSheet.Range("a1:" & _   ActiveSheet.Range("a1").End(xlDown).End(xlToRight).Address).Select				
وفي بعض الحالات، قد تحتاج إلى تحديد الخلايا من A1 إلى C6. في هذا المثال، الأسلوب CurrentRegion لن تعمل بسبب السطر الفارغ في الصف 5. الأمثلة التالية إلى تحديد كافة الخلايا:
lastCol = ActiveSheet.Range("a1").End(xlToRight).ColumnlastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).RowActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select				
    -or-				
lastCol = ActiveSheet.Range("a1").End(xlToRight).ColumnlastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).RowActiveSheet.Range("a1:" & _   ActiveSheet.Cells(lastRow, lastCol).Address).Select				

22-كيف يتم تحديد عدة أعمدة غير متجاورة من متغيرة الطول

لتحديد عدة أعمدة غير متجاورة مهل مختلفة، استخدم نموذج الماكرو والجدول الآتي:
   A1: 1  B1: 1  C1: 1  D1: 1   A2: 2  B2: 2  C2: 2  D2: 2   A3: 3  B3: 3  C3: 3  D3: 3   A4:    B4: 4  C4: 4  D4: 4   A5:    B5: 5  C5: 5  D5:   A6:    B6:    C6: 6  D6:				
StartRange = "A1"EndRange = "C1"Set a = Range(StartRange, Range(StartRange).End(xlDown))Set b = Range(EndRange, Range(EndRange).End(xlDown))Union(a,b).Select				
عند استخدام هذه التعليمة البرمجية باستخدام نموذج الجدول، سيتم تحديد الخلايا a1: a3 و c1: c6.

ملاحظات على الأمثلة

  • عادة ما يتم حذف خاصية ActiveSheet ، نظراً لأنه يعني ضمناً إذا لم يتم تسميته ورقة أسبيسيفيك. على سبيل المثال، بدلاً من
    ActiveSheet.Range("D5").Select						
    يمكنك استخدام:
    Range("D5").Select						
  • يمكن حذف الخاصية ActiveWorkbook أيضا عادة. ما يسمى ووركبوكيس معينة، يتم تضمين المصنف النشط.
  • عند استخدام الأسلوب Application.Goto ، إذا كنت تريد استخدام أسلوبين الخلايا في نطاق الأسلوب عندما يكون النطاق المحدد على آخر (غير النشط) ورقة العمل، يجب عليك تضمين كائن الأوراق في كل مرة. على سبيل المثال:
    Application.Goto Sheets("Sheet1").Range( _      Sheets("Sheet1").Range(Sheets("Sheet1").Cells(2, 3), _      Sheets("Sheet1").Cells(4, 5)))					
  • لأي عنصر ضمن علامات اقتباس (على سبيل المثال، namedrange "اختبار")، يمكنك أيضا استخدام متغير قيمته سلسلة نصية. فوريكسامبلي، بدلاً من
    ActiveWorkbook.Sheets("Sheet1").Activate						
    يمكنك استخدام
    ActiveWorkbook.Sheets(myVar).Activate						
    حيث تكون القيمة myVar "الورقة 1".
مراجع

لمزيد من المعلومات حول كيفية استخدام نموذج التعليمة البرمجية الموجود في هذه المقالة، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
290140 كيفية تشغيل نموذج التعليمة البرمجية الخاصة ببرامج Office XP من مقالات قاعدة المعارف
كوميديا أوفيسيكبهووتو القريبة كيفية متفرقة غير متجاورة غير المتجاورة غير متجاورة XL2003 XL2007 XL2010

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 291308 - آخر مراجعة: 07/03/2016 06:29:00 - المراجعة: 4.0

Microsoft Office Excel 2003, Microsoft Office Excel 2007, Microsoft Excel 2010

  • kbautomation kbmacro kbdtacode kbhowto kbprogramming kbmt KB291308 KbMtar
تعليقات
=">/html>