بيان مجموعة VBA | كيفية تعيين القيم لمتغيرات الكائن؟

بيان مجموعة Excel VBA

مجموعة VBA هي عبارة تُستخدم لتعيين أي مفتاح قيمة يقول كائنًا أو مرجعًا لمتغير ، نستخدم هذه الوظيفة لتحديد المعلمة لمتغير معين ، على سبيل المثال ، إذا كتبنا Set M = A مما يعني الآن M المرجع له نفس القيم والسمات المشابهة لما يمتلكه A.

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

كيفية استخدام Excel VBA Set Statement؟

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

# 1 - تعيين البيان مع متغيرات كائن النطاق

على سبيل المثال ، افترض أنك تريد استخدام النطاق من A1 إلى D5 كثيرًا. بدلاً من كتابة الكود كـ Range (“A1: D5”) في كل مرة يمكننا إعلان المتغير كنطاق وتعيين مرجع النطاق على أنه Range (“A1: D5”)

الخطوة 1: قم بتعريف المتغير ككائن نطاق.

رمز:

 مثال Set_Example فرعي ()

خافت MyRange كمجموعة

End Sub

الخطوة 2: في اللحظة التي نخصص فيها نوع البيانات كنطاق ، استخدم كلمة "Set".

رمز:

 Set_Example () خافت MyRange كمجموعة مجموعة MyRange = End Sub 

الخطوة 3: الآن اذكر النطاق.

رمز:

 Set_Example () خافت MyRange كمجموعة نطاق MyRange = Range ("A1: D5") End Sub 

الخطوة 4: الآن المتغير "MyRange" يساوي النطاق A1 إلى D5. باستخدام هذا المتغير يمكننا الوصول إلى جميع خصائص وطرق هذا النطاق.

يمكننا نسخ وإضافة تعليق في Excel والقيام بالعديد من الأشياء الأخرى.

على سبيل المثال ، لقد قمت بإنشاء بعض الأرقام هنا.

الآن باستخدام المتغير سأغير حجم الخط إلى 12.

رمز:

 Set_Example () خافت MyRange كمجموعة نطاق MyRange = Range ("A1: D5") MyRange.Font.Size = 12 End Sub 

سيؤدي هذا إلى تغيير حجم خط النطاق المعين.

مثل هذا ، يمكننا القيام بالعديد من الأشياء بنطاق معين باستخدام كلمة "Set".

# 2 - تعيين البيان مع متغيرات كائن ورقة العمل

لقد رأينا كيف تعمل "set" مع كائن النطاق في VBA. وهي تعمل تمامًا مثل كائن ورقة العمل أيضًا.

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

على سبيل المثال ، انظر إلى الكود أدناه.

رمز:

 Sub Set_Worksheet_Example () خافت Ws مثل مجموعة ورقة العمل Ws = أوراق العمل ("الملخص") End Sub 

في الكود أعلاه ، تم تعريف المتغير "Ws" على أنه متغير كائن ، وفي السطر التالي باستخدام كلمة "Set" نقوم بتعيين المتغير على ورقة العمل المسماة "Summary Sheet".

الآن باستخدام هذا المتغير ، يمكننا القيام بكل الأشياء المرتبطة به. ألق نظرة على مجموعتين من التعليمات البرمجية أدناه.

# 1 - بدون كلمة "Set"

رمز:

 Sub Set_Worksheet_Example1 () 'لتحديد أوراق عمل الورقة ("Summary Sheet"). حدد "To Activate the sheet Worksheets (" Summary Sheet "). Activate" لإخفاء أوراق عمل الورقة ("Summary Sheet"). Visible = xlVeryHidden "To إظهار أوراق عمل الورقة ("الملخص") Visible = xlVisible End Sub 

في كل مرة أستخدم فيها كائن أوراق العمل للإشارة إلى ورقة "الملخص". هذا يجعل الشفرة طويلة جدًا وتتطلب الكثير من الوقت للكتابة.

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

الآن ألق نظرة على ميزة استخدام الكلمة Set in Code.

# 2 - مع كلمة "Set"

رمز:

 Sub Set_Worksheet_Example () Dim Ws As Worksheet Set Ws = Worksheets ("Summary Sheet") 'لتحديد الورقة Ws. حدد' To Activate the sheet Ws.Activate 'لإخفاء الورقة Ws.Visible = xlVeryHidden' لإظهار الورقة Ws .Visible = xlVisible End Sub 

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

# 3 - تعيين البيان مع متغيرات كائن المصنف

تظهر الميزة الحقيقية لكلمة "Set" في VBA عندما نحتاج إلى الرجوع إلى مصنفات مختلفة.

عندما نعمل مع مصنفات مختلفة ، من الصعب جدًا كتابة الاسم الكامل للمصنف مع امتداد الملف الخاص به.

لنفترض أن لديك مصنفين مختلفين باسم "ملف ملخص المبيعات 2018.xlsx" و "ملف ملخص المبيعات 2019.xlsx" يمكننا تعيين المصنفين مثل الكود أدناه.

رمز:

 Sub Set_Workbook_Example1 () Dim Wb1 كـ Workbook Dim Wb2 كـ Workbook Set Wb1 = Workbooks ("Sales Summary File 2018.xlsx") تعيين Wb2 = Workbooks ("ملف ملخص المبيعات 2019.xlsx") End Sub 

الآن المتغير Wb1 يساوي المصنف المسمى "Sales Summary File 2018.xlsx" ومتغير Wb2 يساوي المصنف المسمى "Sales Summary File 2019.xlsx".

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

يمكننا تقصير الكود كما هو موضح أدناه.

بدون استخدام Set Keyword لتنشيط المصنف:

المصنفات ("ملف ملخص المبيعات 2018.xlsx"). تنشيط

استخدام Set Keyword لتنشيط المصنف:

Wb1.Activate

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