VBA ArrayList (أمثلة) | كيفية إنشاء ArrayList في Excel VBA؟
في vba قمنا ببناء مجموعات من أنواع البيانات ومتغيرات الوظائف وغيرها من العبارات المهمة ولكن على غرار ذلك لدينا قائمة مصفوفة في VBA حيث يمكن للمستخدم تعديل ووضع مجموعات خاصة من المتغيرات والوظائف التي يحددها المستخدم في مصفوفة ، وهناك بعض الكلمات الرئيسية لقائمة الصفيف لتصميمها.
Excel VBA ArrayList
VBA ArrayList هو نوع من بنية البيانات التي نستخدمها في VBA لتخزين البيانات. ArrayList في Excel VBA هي فئة تستخدم لإنشاء صفيف من القيم. هذا على عكس المصفوفات التقليدية حيث يكون لتلك المصفوفات طول ثابت ولكن قائمة الصفيف لا يوجد أي طول ثابت.
VAB ArrayList ليس جزءًا من قائمة VBA بل هو مكتبة خارجية أو كائن نحتاج إلى تعيين المرجع قبل أن نبدأ في الوصول إليه.
تعد المصفوفات في VBA جزءًا لا يتجزأ من أي لغة تشفير. باستخدام المصفوفات في Excel ، يمكننا تخزين البيانات باسم متغير واحد عن طريق إعلان "الحد الأدنى والحد الأعلى".
مع المصفوفات العادية ، نحتاج إلى تحديد الحد الأدنى والحد الأعلى للمصفوفة التي نحتاج إلى تحديدها مسبقًا في وقت إعلان المتغير في حالة المصفوفات الثابتة وفي حالة المصفوفات الديناميكية نحتاج إلى تحديد طول المصفوفة المصفوفة بعد التصريح عن المصفوفة باستخدام عبارة "ReDim" في VBA.
ومع ذلك ، لدينا خيار آخر حيث يمكننا تخزين عدد "N" من القيم دون الإعلان عن الحد الأدنى والحد الأعلى. في هذه المقالة ، سنوضح لك هذا الخيار ، مثل "VBA ArrayList"
لتعيين المرجع إلى كائن VBA ArrayList لاتباع الخطوات التالية.
الخطوة 1: اذهب إلى الأدوات> المراجع
الخطوة 2: ستظهر نافذة مرجع مكتبة الكائنات أمامك. حدد الخيار " mscorlib.dll "
الخطوة 3: انقر فوق موافق أيضًا. الآن يمكننا الوصول إلى VBA ArrayList.
أمثلة على VBA ArrayList في Excel
فيما يلي أمثلة Excel VBA ArrayList.
يمكنك تنزيل قالب VBA ArrayList Excel من هنا - قالب VBA ArrayList Excelمثال # 1 - إنشاء مثيل لـ VBA ArrayList
نظرًا لأن Excel VBA ArrayList هو كائن خارجي ، نحتاج إلى إنشاء مثيل لبدء استخدامه. لإنشاء مثيل اتبع الخطوات أدناه.
الخطوة 1: قم بتعريف المتغير باسم " ArrayList ".
رمز:
ArrayList_Example1 () قيم صفيف باهتة كـ ArrayList End Sub
الخطوة 2: نظرًا لأن Array List هو كائن نحتاج إلى إنشاء مثيل جديد.
رمز:
ArrayList_Example1 () Dim ArrayValues مثل ArrayList Set ArrayValues = New ArrayList End Sub
الخطوة 3: الآن يمكننا الاحتفاظ بقيم متغير المصفوفة باستخدام طريقة "إضافة". في الصورة أدناه أضفت ثلاث قيم.
رمز:
ArrayList_Example1 () Dim ArrayValues مثل ArrayList Set ArrayValues = New ArrayList ArrayValues.Add "Hello" 'First Value ArrayValues.Add "Good"' Second Value ArrayValues.Add "Morning" 'Three Value End Sub
الآن قمنا بتعيين ثلاث قيم ، كيف نحدد القيمة الأولى وكيف يمكننا إظهار القيم أو استخدامها لاحتياجاتنا.
إذا كنت تتذكر نوع المصفوفة التقليدية ، فإننا نشير إلى قيمة المصفوفة الأولى مثل "ArrayName (0)"
وبالمثل ، يمكننا استخدام نفس الأسلوب هنا أيضًا.
ArrayValue (0) = "مرحبًا"
ArrayValue (1) = "جيد"
ArrayValue (2) = "صباح"
دعنا نظهر هذا في مربع الرسالة.
رمز:
ArrayList_Example1 () Dim ArrayValues As ArrayList Set ArrayValues = New ArrayList ArrayValues.Add "Hello" 'First Value ArrayValues.Add "Good"' Second Value ArrayValues.Add "Morning" 'Three Value MsgBox ArrayValues (0) & ArbrayNewLine 1) & vbNewLine & ArrayValues (2) End Sub
الآن قم بتشغيل الكود باستخدام مفتاح F5 أو يدويًا بعد ذلك ، سنرى "مرحبًا" و "جيد" و "صباح" في مربع رسالة VBA.
مثل هذا ، يمكننا تخزين أي عدد من القيم باستخدام Array List Object.
مثال # 2 - تخزين القيم في الخلايا باستخدام VBA ArrayList
دعونا نرى مثال تخزين القيم المعينة للخلايا في ورقة العمل. الآن ، انظر إلى رمز VBA أدناه.
رمز:
Sub ArrayList_Example2 () Dim MobileNames As ArrayList، MobilePrice As ArrayList Dim i As Integer Dim k As Integer Set MobileNames = New ArrayList 'Names of the mobileNames.Add "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. أضف "VIVO" MobileNames.Add "LG" Set MobilePrice = New ArrayList MobilePrice.Add 14500 MobilePrice.Add 25000 MobilePrice.Add 18500 MobilePrice.Add 17500 MobilePrice.Add 17800 End Sub
من خلال قائمتين من المصفوفات ، قمت بتخزين أسماء الجوال وأسعار الهاتف المحمول. نحتاج الآن إلى إدراج هذه القيم في ورقة العمل لهذا نحتاج إلى استخدام الحلقات. الحلقة أدناه ستؤدي المهمة بالنسبة لي.
يوجد أدناه الرمز العام لتخزين القيم في ورقة العمل.
رمز:
Sub ArrayList_Example2 () Dim MobileNames As ArrayList، MobilePrice As ArrayList Dim i As Integer Dim k As Integer Set MobileNames = New ArrayList 'Names of the mobileNames.Add "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. أضف "VIVO" MobileNames.Add "LG" Set MobilePrice = New ArrayList MobilePrice.Add 14500 MobilePrice.Add 25000 MobilePrice.Add 18500 MobilePrice.Add 17500 MobilePrice.Add 17800 k = 0 For i = 1 To 5 Cells (i، 1) .Value = MobileNames (k) Cells (i، 2) .Value = MobilePrice (k) k = k + 1 Next i End Sub
عندما نقوم بتشغيل الكود يدويًا أو باستخدام المفتاح F5 ، سنحصل على النتيجة أدناه.