كيفية إنشاء دالة معرّفة من قبل المستخدم في Microsoft Excel

مؤلف: Alice Brown
تاريخ الخلق: 4 قد 2021
تاريخ التحديث: 15 قد 2024
Anonim
How to create a User Defined Function in Excel VBA
فيديو: How to create a User Defined Function in Excel VBA

المحتوى

على الرغم من أن Excel يحتوي على العديد ، وربما المئات من الوظائف المضمنة مثل SUM و VLOOKUP و LEFT وما إلى ذلك ، عندما تبدأ في استخدام Excel لمهام أكثر تعقيدًا ، غالبًا ما تجد أنك بحاجة إلى وظيفة غير موجودة. لا تقلق ، لم نفقد كل شيء ؛ كل ما تحتاجه هو إنشاء الوظيفة المطلوبة.

خطوات

  1. قم بإنشاء مصنف جديد أو افتح المصنف حيث تريد استخدام الوظيفة المحددة بواسطة المستخدم (FDU) التي تم إنشاؤها حديثًا.

  2. افتح محرر Visual Basic وهو مضمن في Microsoft Excel بالانتقال إلى Tools-> Macro-> Visual Basic Editor (أو بالضغط على Alt + F11).

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

  4. قم بإنشاء "رأس" أو "نموذج أولي" لوظيفتك. يجب أن يكون لديك الهيكل التالي: الوظيفة العامة TheNameOfYourFunction (param1 As type1، param2 As type2) كـ returnType يمكن أن يكون هناك العديد من المعلمات حسب الرغبة ، ويمكن أن يكون نوعها أيًا من أنواع البيانات الأساسية أو أنواع كائنات Excel مثل النطاق. يمكنك التفكير في المعلمات على أنها "معاملات" تعمل وظيفتك على أساسها. على سبيل المثال ، عندما تقول SIN (45) لحساب جيب 45 درجة ، سيتم أخذ 45 كمعامل. بعد ذلك ، سيستخدم رمز الوظيفة هذه القيمة لإجراء بعض العمليات الحسابية وتقديم النتيجة.
  5. أضف رمز الوظيفة ، مع التأكد من: 1) استخدم القيم التي توفرها المعلمات ؛ 2) تعيين النتيجة لاسم الوظيفة ؛ 3) أغلق الوظيفة بـ "end function". تعلم كيفية البرمجة في VBA أو أي لغة أخرى يمكن أن يستغرق بعض الوقت ويتطلب تعليمي مفصل. ومع ذلك ، غالبًا ما تحتوي الوظائف على كتل صغيرة من التعليمات البرمجية وتستخدم موارد لغوية قليلة. العناصر الأكثر فائدة للغة VBA هي:
    1. الكتلة لو، والذي يسمح لك بتشغيل جزء من الكود فقط إذا تم استيفاء شرط. على سبيل المثال:


      نتيجة دورة الوظيفة العامة (الشبكة كعدد صحيح) كسلسلة
      إذا كان الصف> = 5 ثم
      CourseResult = "موافق عليه"
      آخر
      CourseResult = "مرفوض"
      إنهاء إذا
      وظيفة النهاية

      لاحظ العناصر الموجودة في كتلة التعليمات البرمجية لو: إذا كان الشرط ، ثم كود آخر END IF. الكلمة آخر مع الجزء الثاني من الكود اختياري.
    2. الكتلة ل، والذي ينفذ جزءًا من التعليمات البرمجية بينما (بينما) أو حتى (حتى) يتم استيفاء شرط. على سبيل المثال:

      الوظيفة العامة IsPrime (القيمة كعدد صحيح) باعتبارها قيمة منطقية
      خافت أنا كعدد صحيح
      أنا = 2
      IsPrime = صحيح
      ل
      إذا كانت القيمة / i = Int (القيمة / i) ثم
      IsPrime = خطأ
      إنهاء إذا
      أنا = أنا + 1
      التكرار بينما أنا <القيمة و IsPrime = صحيح
      وظيفة النهاية

      انظر إلى العناصر مرة أخرى: قم بعمل رمز LOOP أثناء / حتى الشرط. لاحظ أيضًا السطر الثاني حيث يتم "التصريح" عن متغير. يمكنك إضافة متغيرات إلى التعليمات البرمجية الخاصة بك ، بحيث يمكنك استخدامها لاحقًا. المتغيرات تعمل كقيم مؤقتة داخل الكود. أخيرًا ، انظر إلى إعلان الوظيفة باسم BOOLEAN ، وهو نوع بيانات يسمح فقط بالقيمتين TRUE و FALSE. هذه الطريقة لتحديد ما إذا كان الرقم أوليًا ليست مثالية ، لكنني أفضل تركها على هذا النحو لتسهيل قراءة الكود.
    3. الكتلة بالنسبة، والذي ينفذ جزءًا من التعليمات البرمجية لعدد محدد من المرات. على سبيل المثال:

      عاملي الوظيفة العامة (القيمة كعدد صحيح) طالما
      نتيجة قاتمة طويلة
      خافت أنا كعدد صحيح
      إذا كانت القيمة = 0 ثم
      النتيجة = 1
      ElseIf القيمة = 1 ثم
      النتيجة = 1
      آخر
      النتيجة = 1
      بالنسبة إلى i = 1 To value
      النتيجة = النتيجة * ط
      التالي
      إنهاء إذا
      عاملي = نتيجة
      وظيفة النهاية

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

      يوجد أدناه رمز دالة تقوم بتحويل الأرقام إلى كلمات.
  6. ارجع إلى المصنف الخاص بك واستخدم الوظيفة عن طريق بدء محتويات خلية بامتداد مساو متبوعًا باسم دورك. أضف قوس فتح إلى اسم الوظيفة ، مع الفصل بين المعلمات فاصلة وقوس إغلاق نهائي. على سبيل المثال:= NumberToLetters (A4) يمكنك أيضًا استخدام الصيغة المعرفة من قبل المستخدم من خلال البحث عنها في الفئة تعريف المستخدم في المعالج لإدخال الصيغة. فقط انقر فوق الزر الفوركس يقع على يسار شريط الصيغة. يمكن أن تكون المعلمات من ثلاثة أنواع:
    1. تم إدخال القيم الثابتة مباشرة في صيغة الخلية. يجب وضع السلاسل بين علامتي اقتباس في هذه الحالة.
    2. مراجع الخلايا مثل ب 6 أو فترات مثل A1: C3 (يجب أن تكون المعلمة من النوع فترة راحة"")
    3. وظائف أخرى مرتبة ضمن وظيفتك (يمكن أيضًا تجميع وظيفتك ضمن وظائف أخرى). وهذا هو: = عاملي (MAX (D6: D8))
  7. تحقق مما إذا كانت النتيجة جيدة بعد استخدام الوظيفة عدة مرات ، تأكد من أنها تتعامل مع قيم المعلمات المختلفة بشكل صحيح:

نصائح

  • عندما تكتب كتلة من التعليمات البرمجية داخل بنية تحكم مثل If و For و Do وما إلى ذلك ، تذكر أن تقوم بعمل مسافة بادئة للكتلة باستخدام بعض الفراغات أو علامات التبويب (يعود نمط المسافة البادئة إليك).بهذه الطريقة سيكون من السهل فهم شفرتك وسيكون من الأسهل بكثير اكتشاف الأخطاء وتحسين الكود.
  • يحتوي Excel على العديد من الوظائف المضمنة ويمكن إجراء معظم العمليات الحسابية باستخدامها بمفردها أو مجتمعة. ابحث في قائمة الوظائف المتاحة قبل بدء الرمز الخاص بك. يمكن أن يكون التنفيذ أسرع إذا كنت تستخدم وظائف مدمجة.
  • في بعض الأحيان ، قد لا تتطلب الوظيفة جميع المعلمات لحساب النتيجة. في هذه الحالة ، يمكنك استخدام الكلمة الأساسية خياري قبل اسم المعلمة في رأس الوظيفة. يمكنك استعمال ال مفقود (اسم_المعامل) داخل الكود لتحديد ما إذا كان قد تم تعيين قيمة للمعامل أم لا.
  • إذا كنت لا تعرف كيفية كتابة التعليمات البرمجية لوظيفة ما ، فاقرأ كيفية كتابة ماكرو بسيط في Microsoft Excel.
  • استخدم اسمًا لم يتم تعريفه على أنه اسم وظيفة في Excel ، أو سينتهي بك الأمر إلى استخدام وظيفة واحدة فقط.

تحذيرات

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

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

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

اختيار الموقع