كيفية استخدام وظيفة جدول البيانات vba؟

الملاحظات الرئيسية

  • يمكنك استخدام الخاصية WorksheetFunction للوصول إلى وظائف ورقة العمل لاستخدامها في الماكرو.

كيفية استخدام دالة ورقة العمل في VBA عند كتابة ماكرو

استخدم الخطوات التالية لاستخدام دالة ورقة العمل في VBA.

  • أولاً، حدد الخلية التي تريد إدراج القيم التي ترجعها الدالة.
    worksheet-function-in-vba
  • بعد ذلك، استخدم علامة المساواة (=) واكتب Application.WorksheetFunction (كما يمكنك أن تفعل بالفعل في تطبيق Excel، يمكنك فقط استخدام WorksheetFunction).
    use-an-equal-sign
  • بعد ذلك، تحتاج إلى إدخال نقطة (.)، وفي اللحظة التي تقوم فيها بذلك، سوف تحصل على قائمة بالوظائف الموجودة في جدول البيانات.
    you-need-to-enter-a-dot
  • من هنا، دعونا نستخدم وظيفة TextJoin لربط النص في الخلايا A1 وB1. بهذه الطريقة، يمكنك استخدام وظيفة في جدول البيانات؛ عند إدخال أقواس البداية، فإنه يظهر لك الوسيطات التي تحتاج إلى تحديدها في الخلية.
    use-the-textjoin-function
  • كما ترون في لقطة الشاشة أعلاه، فإنها تظهر لك الوسيطة التي تحتاج إلى تحديدها، ولكن ليس اسم الوسيطات. لذلك عليك أن تعرف الحجج قبل استخدامها. فيما يلي الوسائط التي تحتاج إلى استخدامها في TextJoin.
    arguement-before-using-testjoin
  • الآن دعونا ندخل الوسائط في الوظيفة.
    enter-arguement-in-the-function
    1. الحد : » «
    2. تجاهل_فارغ: صحيح
    3. النص 1: النطاق (“A1”)
    4. النص 2: النطاق (“B1”)

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

 Sub MyMacro() Range("A1") = _ Application.WorksheetFunction.TextJoin _ (" ", True, Range("A2"), Range("A3")) End Sub

يوجد إجمالي 387 وظيفة في ورقة العمل يمكنك استخدامها في VBA. ولكن هناك بعض الوظائف (مثال: LEFT ) غير متوفرة.

سبب؟ توجد وظائف مضمنة في VBA يمكنك استخدامها عند كتابة تعليمات VBA البرمجية. دعونا نرى ما إذا كنت تريد استخدام مربع رسالة للحصول على قيمة الوظيفة. لنفترض أنك تريد الحصول على الحد الأقصى لقيمة النطاق المسمى “myValues”.

الكود سيكون:

 Sub MyMacro() MsgBox Prompt:=WorksheetFunction.Max(Range("myValues")) End Sub

وهذه هي الطريقة التي تحصل بها على مربع الرسالة:

النطاق المسمى myvalues

Application.WorksheetFunction مقابل التطبيق

هناك طريقتان مختلفتان للإشارة إلى دالة ورقة العمل. يوجد أدناه سطرين مختلفين من التعليمات البرمجية يؤديان نفس النشاط.

وظيفة ورقة عمل التطبيق مقابل التطبيق
 Sub MyMacro() MsgBox Prompt:= _ Application.WorksheetFunction.Max(Range("myValues")) MsgBox Prompt:= _ Application.Max(Range("myValues")) End Sub

ولكن هناك ميزة لاستخدام الطريقة الثانية. يقوم بإرجاع رمز خطأ بدلاً من عرض الخطأ مباشرة.

اضف تعليق

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