كيفية استخدام طريقة الخلية الخاصة؟

في VBA، تتيح لك طريقة الخلايا الخاصة تحديد خلية أو نطاق من الخلايا من نوع معين ونوع قيمة محدد. لنفترض أنك تريد معرفة ما هي الخلايا التي تحتوي على صيغة والتي تم ترقيمها كقيمة في النطاق A1:A10؟ حسنًا، يمكنك تحقيق هذه النتيجة باستخدام طريقة SpecialCells.

استخدم طريقة الخلايا الخاصة في VBA

استخدم طريقة الخلايا الخاصة في vba

نكتب هنا رمزًا لمعرفة عنوان آخر خلية مستخدمة في النطاق A1:A10. لاحظ أنه يوجد في طريقة الخلية الخاصة وسيطتان، إحداهما مطلوبة والأخرى اختيارية.

  1. أولاً، قم بتعريف متغير كنطاق لتخزين عنوان الخلية الذي تم إرجاعه بواسطة الكود.
    declare a variable as range
  2. بعد ذلك، ارجع إلى النطاق واستخدم طريقة “SpecialCells” حيث تحتاج إلى تحديد وسيطة “Type” باستخدام “xlCellTypeLastCell”.
  3. بعد ذلك، قم بتعيين هذا السطر الخاص من رمز الخلية على المتغير الذي حددته في الخطوة الأولى.
    use the specialcells method
  4. من هنا تحتاج إلى استخدام مربع رسالة VBA للحصول على عنوان الخلية المرتجعة بواسطة طريقة الخلية الخاصة.
  5. في النهاية، استخدم خاصية العنوان مع المتغير للحصول على عنوان خلية النوع الأخير.
    Vba message box to get the address

هنا هو الرمز الكامل.

 Dim myRng As Range Set myRng = Range("A1:A10").SpecialCells(xlCellTypeLastCell) MsgBox myRng.Address

الآن عند تشغيل هذا الرمز سيظهر لك مربع رسالة بعنوان الخلية التي تم استخدامها (كتابتها) آخر مرة. لذا، في حالتي استخدمت الخلية A10 ونفس الشيء الذي تلقيته في مربع الرسالة.

حدد الخلايا التي تحتوي على ملاحظات

في Excel، أصبحت “التعليقات” القديمة الآن “ملاحظات”. عند كتابة التعليمات البرمجية لتحديد التعليقات، فإنه سيتم تحديد الملاحظات الموجودة لديك ضمن النطاق المحدد. خذ بعين الاعتبار التعليمة البرمجية التالية.

حدد الخلايا التي تحتوي على ملاحظات
 Dim myRng As Range Set myRng = _ Range("A1:A10").SpecialCells(xlCellTypeComments) myRng.Select

استخدم كلتا الوسيطتين

كما قلت سابقًا، لديك وسيطتان لطريقة SpecialCells. لنرى الآن كيف يمكنك استخدام الوسيطتين لتحديد الخلايا التي تحتوي على صيغة، وأن القيمة التي ترجعها الصيغة هي قيمة منطقية.

 Dim myRng As Range Set myRng = Range("A1:A11").SpecialCells(xlCellTypeFormulas, xlLogical) myRng.Select

الآن عندما أقوم بتشغيل الكود أعلاه فإنه يحدد الخلايا من النطاق A1 إلى A11 حيث لدي صيغ وقيمة منطقية.

باستخدام كلتا الوسيطتين

حدد الخلايا ذات التنسيق الشرطي

 Range("A1:A11").SpecialCells(xlCellTypeSameFormatConditions) Range("A1:A11").SpecialCells(xlCellTypeAllFormatConditions)

حدد الخلايا المرئية

ويمكنك أيضًا تحديد المرئي باستخدام الثابت “xlCellTypeVisible”. خذ بعين الاعتبار التعليمة البرمجية التالية.

 Dim myRng As Range Set myRng = Range("A1:A11").SpecialCells(xlCellTypeVisible) myRng.Select
حدد الخلايا ذات التنسيق الشرطي

أو يمكنك أيضًا استخدام “12” كقيمة الوسيطة.

 Dim myRng As Range Set myRng = Range("A1:A11").SpecialCells(12) myRng.Select

الخلايا مع التحقق من صحة البيانات

 Range("A1:A11").SpecialCells(xlCellTypeAllValidation) Range("A1:A11").SpecialCells(xlCellTypeSameValidation)

اضف تعليق

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