كيفية التنقل في نطاق باستخدام vba؟

للتكرار عبر نطاق في VBA، تحتاج إلى استخدام خيار “For Each Loop”. باستخدام هذه الحلقة، يمكنك كتابة التعليمات البرمجية حيث تطلب من VBA المرور عبر كل خلية في النطاق أو العمود أو الصف وتنفيذ نشاط معين.

 Sub vba_loop_range() Dim iCell As Range For Each iCell In Range("A1:A10").Cells   iCell.Value = "Yes" Next iCell End Sub

فيما يلي خطوات المشي على الشاطئ:

  1. أولاً، قم بتعريف متغير لاستخدامه كخلية النطاق المراد تكراره.
    loop-through-range
  2. بعد ذلك، ابدأ حلقة “For Each” واستخدم المتغير “iCell” لتمثيل كل خلية في النطاق أثناء الحلقة.
    use-icell-variable
  3. بعد ذلك، تحتاج إلى كتابة سطر من التعليمات البرمجية لتنفيذ نشاط على كل خلية نقوم فيها بتكرار النطاق.
    write-a-line-of-code
  4. في النهاية، قم بإنهاء الكود الخاص بالحلقة.
    end-the-code-for-a-loop

قم بالتكرار على العمود بأكمله وصف واحد باستخدام VBA

بنفس الطريقة، يمكنك التكرار خلال كل خلية في صف واحد باستخدام الكود التالي وهو مطابق للكود الذي استخدمناه في المثال السابق، والفرق الوحيد هو النطاق الذي حددناه.

حلقة خلال العمود والصف بأكمله

ملاحظة: قبل الانتقال إلى عمود أو صف كامل، يجب أن تفهم أن الحلقة قد تستغرق بعض الوقت وقد يتجمد برنامج Excel الخاص بك لبضع دقائق.

 Sub vba_loop_range() Dim iCell As Range For Each iCell In Range("A:A").Cells   iCell.Value = "Yes" Next iCell End Sub

وبنفس الطريقة، يمكنك استخدام خط كامل كنطاق للمرور عبره.

 Sub vba_loop_range() Dim iCell As Range For Each iCell In Range("1:1").Cells   iCell.Value = "Yes" Next iCell End Sub

حلقة من خلال النطاق الديناميكي

وإذا كنت تريد التكرار عبر نطاق ديناميكي من الخلايا، فارجع إلى الكود التالي.

حلقة من خلال النطاق الديناميكي
 Sub vba_dynamic_loop_range() Dim iCell As Range Dim iRange1 As String Dim iRange2 As String Dim rangeName As String iRange1 = ActiveCell.Address iRange2 = ActiveCell.Offset(5, 5).Address rangeName = iRange1 & ":" & iRange2 For Each iCell In Range(rangeName).Cells   iCell = "Yes" Next iCell End Sub

اضف تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *