مصفوفات VBA في Excel: أنواعها وكيفية استخدامها مع مثال
⚡ ملخص ذكي
تُخزّن مصفوفات Excel VBA مجموعة من القيم المترابطة من نفس نوع البيانات تحت اسم واحد، ويتم الوصول إليها بواسطة فهرس. تشرح هذه الصفحة المصفوفات الثابتة والديناميكية، والمصفوفات أحادية وثنائية ومتعددة الأبعاد، وصيغة تعريفها، بالإضافة إلى مثال عملي لتحميل المشروبات.

ما هو صفيف VBA؟
يتم تعريف المصفوفة على أنها موقع ذاكرة قادر على تخزين أكثر من قيمة واحدة. يجب أن تكون جميع القيم من نفس نوع البيانات. لنفترض أنك تريد تخزين قائمة بمشروباتك المفضلة في متغير واحد، يمكنك استخدام مصفوفة VBA للقيام بذلك.
باستخدام مصفوفة، يمكنك الرجوع إلى القيم المرتبطة بنفس الاسم. يمكنك استخدام فهرس أو منخفض للتمييز بينهما. تتم الإشارة إلى القيم الفردية كعناصر مصفوفة Excel VBA. وهي متجاورة من الفهرس 0 إلى أعلى قيمة للمؤشر.
يفترض هذا البرنامج التعليمي أنك تستخدم Microsoft Excel الإصدار 2013. ولا تزال المعرفة تنطبق على الإصدارات الأخرى من Microsoft التفوق كذلك.
ما هي مزايا المصفوفات؟
قبل كتابة كود المصفوفات، من المفيد فهم سبب أهمية استخدام المصفوفات. فيما يلي بعض المزايا التي توفرها دالة المصفوفة في VBA
- قم بتجميع البيانات المرتبطة منطقيًا معًا - لنفترض أنك تريد تخزين قائمة بالطلاب. يمكنك استخدام متغير مصفوفة واحد يحتوي على مواقع منفصلة لفئات الطلاب، مثل حديقة الحضانة، والمرحلة الابتدائية، والثانوية، والمدرسة الثانوية، وما إلى ذلك.
- تسهل المصفوفات كتابة تعليمات برمجية قابلة للصيانة. بالنسبة لنفس البيانات المرتبطة منطقيًا، يسمح لك بتحديد متغير واحد، بدلاً من تحديد أكثر من متغير واحد.
- أداء أفضل - بمجرد تعريف المصفوفة، يكون استرداد البيانات وفرزها وتعديلها أسرع.
أنواع المصفوفات في VBA
يدعم VBA نوعين من المصفوفات وهما؛
- ساكن – تحتوي هذه الأنواع من المصفوفات على عدد محدد مسبقًا من العناصر التي يمكن تخزينها. لا يمكن للمرء تغيير حجم نوع بيانات المصفوفة الثابتة. تكون هذه مفيدة عندما تريد العمل مع كيانات معروفة مثل عدد الأيام في الأسبوع، والجنس، وما إلى ذلك.فمثلا: Dim ArrayMonth(12) كسلسلة
- التفاعل – لا تحتوي هذه الأنواع من المصفوفات على عدد محدد مسبقًا من العناصر التي يمكن تخزينها. تكون هذه مفيدة عند العمل مع الكيانات التي لا يمكنك تحديد عددها مسبقًا.فمثلا: Dim ArrayMonth() كمتغير
بمجرد معرفة النوع الذي يناسب بياناتك، فإن الخطوة التالية هي صياغة تعريف كل نوع.
بناء الجملة للإعلان عن المصفوفات
صفائف ثابتة
بناء الجملة للإعلان STATIC المصفوفات هي كما يلي:
Dim arrayName (n) as datatype
هنا،
| Code | اكشن |
|---|---|
| خافت نوع البيانات اسم الصفيف (ن). |
|
صفائف ديناميكية
بناء الجملة للإعلان DYNAMIC المصفوفات هي كما يلي:
Dim arrayName() as datatype ReDim arrayName(4)
هنا،
| Code | اكشن |
|---|---|
| نوع البيانات Dim arrayName (). |
|
| اسم الصفيف ReDim(4) |
|
أبعاد المصفوفة
يمكن أن تكون المصفوفة ذات بعد واحد أو بعدين أو متعددة الأبعاد.
- بعد واحد: في هذا البعد، يستخدم المصفوفة فهرسًا واحدًا فقط. على سبيل المثال، عدد من الأشخاص من كل عمر.
- بعدين: في هذا البعد، يستخدم المصفوفة فهرسين. على سبيل المثال، عدد الطلاب في كل فصل. ويتطلب عدد الفصول وعدد الطلاب في كل فصل
- متعدد الأبعاد: في هذا البعد، يستخدم المصفوفة أكثر من فهرسين. على سبيل المثال، درجات الحرارة خلال النهار. (30، 40، 20).
كيفية استخدام المصفوفة في Excel VBA
بعد أن استعرضنا الجانب النظري، يمكننا الآن استخدام المصفوفات في مصنف حقيقي. سننشئ تطبيقًا بسيطًا يقوم بتعبئة ورقة عمل Excel ببيانات من متغير مصفوفة. في مثال VBA هذا للمصفوفات، سنقوم بما يلي.
- إنشاء جديد Microsoft مصنف Excel واحفظه كمصنف Excel Macro-Enabled (*.xlsm)
- إضافة زر أمر إلى المصنف
- قم بتعيين خصائص الاسم والتسمية التوضيحية لزر الأمر
- برمجة VBA الذي يملأ ورقة Excel
لنقم بهذا التمرين خطوة بخطوة
الخطوة 1 - إنشاء مصنف جديد
- ساعات العمل Microsoft Excel
- احفظ المصنف الجديد باسم VBA Arrays.xlsm
الخطوة 2 – إضافة زر الأمر
ملاحظة: يفترض هذا القسم أنك على دراية بعملية إنشاء واجهة في برنامج Excel. إذا لم تكن على دراية، اقرأ البرنامج التعليمي التحكم في نموذج VBA Excel والتحكم في ActiveX. سيوضح لك كيفية إنشاء الواجهة
- إضافة زر أمر إلى الورقة
- قم بتعيين خاصية الاسم إلى cmdLoadBeverages
- اضبط خاصية التسمية التوضيحية على تحميل المشروبات
يجب أن تكون واجهة المستخدم الرسومية الخاصة بك الآن كما يلي
الخطوة 3 - احفظ الملف
- انقر على زر حفظ باسم
- اختر مصنف Excel Macro-Enabled (*.xlsm) كما هو موضح في الصورة أدناه
الخطوة 4 – كتابة الرمز
سنقوم الآن بكتابة الكود الخاص بتطبيقنا
- انقر بزر الماوس الأيمن على زر تحميل المشروبات وحدد عرض الرمز
- أضف الكود التالي إلى حدث النقر لـ cmdLoadBeverages
Private Sub cmdLoadBeverages_Click() Dim Drinks(1 To 4) As String Drinks(1) = "Pepsi" Drinks(2) = "Coke" Drinks(3) = "Fanta" Drinks(4) = "Juice" Sheet1.Cells(1, 1).Value = "My Favorite Beverages" Sheet1.Cells(2, 1).Value = Drinks(1) Sheet1.Cells(3, 1).Value = Drinks(2) Sheet1.Cells(4, 1).Value = Drinks(3) Sheet1.Cells(5, 1).Value = Drinks(4) End Sub
هنا،
| Code | اكشن |
|---|---|
| المشروبات الخافتة (1 إلى 4) كسلسلة |
|
| المشروبات(1) = "بيبسي" |
|
| Sheet1.Cells(1, 1).Value = “My Favorite Beverages” |
|
| الورقة 1. الخلايا (2، 1). القيمة = المشروبات (1) |
|
اختبار تطبيقنا
بعد إدخال الكود، الخطوة الأخيرة هي تشغيل الزر والتأكد من أن المصفوفة تملأ الصفحة. حدد علامة تبويب المطور وتأكد من أن زر وضع التصميم مُعطّل. يُشير إلى ذلك ظهور خلفية بيضاء وليست ملونة (خضراء). (انظر الصورة أدناه)
انقر على زر تحميل المشروبات
سوف تحصل على النتائج التالية
قم بتنزيل Excel الذي يحتوي على الكود أعلاه
قم بتنزيل ملف Excel أعلاه Code





