مجموعة VBA | كيفية إنشاء كائن مجموعة في VBA؟

كائن مجموعة Excel VBA

في ترميز VBA بصرف النظر عن مجموعة العناصر الموجودة ضمن مجموعة واحدة ، يمكننا أيضًا إنشاء مجموعات المجموعات الخاصة بنا. في مقالاتنا العديدة ، تحدثنا عن متغيرات الكائنات وفي هذا البرنامج التعليمي ، سنتعرف على كائن مجموعة VBA بالتفصيل.

إذا كنت قد قمت بالاطلاع على مقالتنا السابقة "VBA Arrays" فسيكون من الأسهل عليك فهمها. تُستخدم المصفوفات لتجميع المتغيرات تحت سقف واحد ، وبالمثل ، تُستخدم المجموعة أيضًا لتخزين مجموعة من المتغيرات.

تستخدم المجموعات لتخزين الأشياء. إنها أكثر مرونة بكثير من مصفوفات VBA في حين أن المصفوفات لها حد ثابت للحجم ولكن المجموعات ليس لها أي حد ثابت للحجم في أي وقت معين وحتى لا تتطلب تغيير حجم يدوي.

مجموعة VBA تشبه إلى حد بعيد "قاموس VBA" ولكن القاموس يتطلب مرجع كائن خارجي لإعداده ضمن نافذة مرجع الكائن. باستخدام قاموس VBA ، نحتاج إلى تعيين نوع المرجع كـ "Microsoft Scripting Runtime" ولكن المجموعة لا تتطلب أيًا من هذه التركيبات الإضافية.

كيفية إنشاء كائن مجموعة في VBA؟

لبدء المجموعة أولاً ، نحتاج إلى التصريح عن المتغير باسم "مجموعة".

يمكنك تنزيل قالب Excel لمجموعة VBA هنا - قالب Excel لمجموعة VBA

رمز:

 Sub Collection_Example () Dim Col As Collection End Sub 

نظرًا لأن المجموعة عبارة عن متغير كائن ، فنحن بحاجة إلى تعيين مرجع الكائن عن طريق إنشاء مثيل جديد.

رمز:

 Sub Collection_Example () Dim Col كمجموعة مجموعة Col = New Collection End Sub 

الآن مع المتغير ، يمكننا الوصول إلى جميع طرق متغير المجموعة "Col".

رمز:

 Sub Collection_Example () Dim Col كمجموعة مجموعة Col = New Collection Col. End Sub 

قبل استخدام هذه الطرق ، نحتاج إلى تعريف المتغير كسلسلة.

رمز:

 Sub Collection_Example () Dim Col كمجموعة مجموعة Col = مجموعة جديدة Dim ColResult كـ String End Sub 

الآن استخدم المتغير "Col" واختر طريقة "Add".

رمز:

 Sub Collection_Example () Dim Col كمجموعة مجموعة Col = New Collection Col.Add End Sub 

تحت طريقة الإضافة ، لدينا معلمات معينة. لنفترض أننا نقوم بتخزين أسماء العلامات التجارية للجوّال بمتوسط ​​سعر البيع في السوق.

ضمن العنصر ، تدخل الوسيطة سعر الهاتف المحمول.

رمز:

 Sub Collection_Example () Dim Col كمجموعة مجموعة Col = New Collection Col.Add Item: = 15000، End Sub 

بعد ذلك ، ضمن وسيطة المفتاح ، أدخل اسم العلامة التجارية للجوال.

رمز:

 Sub Collection_Example () Dim Col as Collection Set Col = New Collection Col.Add Item: = 15000 ، المفتاح: = "Redmi" End Sub 

الآن بالنسبة للمتغير "ColResult" ، سنخزن نتيجة متغير الكائن "Col".

رمز:

 Sub Collection_Example () Dim Col كمجموعة مجموعة Col = New Collection Col.Add Item: = 15000، Key: = "Redmi" ColResult = Col (End Sub 

عندما تفتح قوس المتغير "Col" يمكننا أن نرى الوسيطة على أنها فهرس لهذه الحجة ، نحتاج إلى توفير قيمة الوسيطة الرئيسية من طريقة إضافة المجموعة ، أي اسم العلامة التجارية للجوال.

رمز:

 Sub Collection_Example () Dim Col as Collection Set Col = New Collection Col.Add Item: = 15000 ، المفتاح: = "Redmi" ColResult = Col ("Redmi") End Sub 

الآن دعنا نظهر النتيجة في مربع الرسالة في VBA.

رمز:

 Sub Collection_Example () Dim Col as Collection Set Col = New Collection Col.Add Item: = 15000، Key: = "Redmi" ColResult = Col ("Redmi") MsgBox ColResult End Sub 

حسنًا ، لقد انتهينا عند تشغيل الكود ، يجب أن نرى سعر ماركة الهاتف المحمول "Redmi".

فهم أفضل لمعلمات المفتاح والعنصر

أنا متأكد من أنه ليس من السهل فهم معلمات كائن المجموعة. اسمحوا لي أن أشرح لكم بمثال بسيط.

تخيل أن لديك قائمة من الفواكه بأسمائها وسعرها. افترض أنك تبحث عن سعر فاكهة "التفاح" باسم الفاكهة.

من أجل البحث عن سعر الفاكهة ، نحتاج إلى ذكر اسم الفاكهة ، أي في لغة VBA ، اسم الفاكهة هو المفتاح وسعر الفاكهة هو "العنصر".

يشبه تطبيق وظيفة VLOOKUP أو HLOOKUP ، بناءً على قيمة البحث ، سنقوم بإحضار البيانات المطلوبة من قاعدة البيانات. قيمة البحث هنا هي المفتاح والنتيجة هي العنصر.

مثال متقدم

تخيل أنك مدير متجر في أحد متاجر البيع بالتجزئة وأنت مسؤول عن إدارة استفسارات العملاء. أحد استفسارات العملاء هو الاستفسار عن سعر المنتج.

تحتاج إلى السماح للعميل بالبحث عن سعر المنتج بمعلومات كاملة. وبالمثل ، تحتاج إلى إظهار الرسالة في حالة عدم العثور على بيانات. يوجد أدناه مثال على الكود الذي سيقدم مربع الإدخال أمام المستخدم ويطلب إدخال اسم المنتج الذي يبحثون عنه ، إذا كان المنتج موجودًا في المجموعة ، فسوف يعرض سعر المنتج المذكور وإلا فسيتم أظهر الرسالة على أنها "المنتج الذي تبحث عنه غير موجود".

رمز:

 Sub Collection_Example2 () عناصر خافتة = "Water Melon" ، العنصر: = 45 ItemsCol.Add Key: = "Mush Millan" ، العنصر: = 85 ItemsCol.Add Key: = "Mango" ، العنصر: = 65 ColResult = Application.InputBox (موجه: = "من فضلك أدخل اسم الفاكهة ") إذا كان ItemsCol (ColResult)" "ثم MsgBox" The Price of the Fruit "& ColResult &" is: "& ItemsCol (ColResult) Else MsgBox" سعر الفاكهة التي تبحث عنها غير موجود في المجموعة "End If End Sub 

$config[zx-auto] not found$config[zx-overlay] not found