برامج مفيدة لبرنامج Excel وVBA. أمثلة على وحدات الماكرو في Excel

15.08.2019

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

ما هو فبا

تتم البرمجة في برنامج Excel باستخدام لغة برمجة Visual Basic للتطبيقات، والتي تم دمجها في الأصل في معالج جداول البيانات الأكثر شهرة من Microsoft.

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

  • ارجع إلى سطر "وحدات الماكرو"؛
  • حدد "ماكرو 1" من القائمة؛
  • انقر فوق "تشغيل" (يتم تشغيل نفس الإجراء عن طريق تشغيل مجموعة المفاتيح "Ctrl + hh").

ونتيجة لذلك، يحدث الإجراء الذي تم تنفيذه أثناء عملية تسجيل الماكرو.

من المنطقي أن نرى كيف يبدو الرمز. للقيام بذلك، ارجع إلى سطر "وحدات الماكرو" وانقر على "تغيير" أو "تسجيل الدخول". ونتيجة لذلك، ينتهي بهم الأمر في بيئة VBA. في الواقع، رمز الماكرو نفسه يقع بين السطور Sub Macro1() وEnd Sub.

إذا تم إجراء النسخ، على سبيل المثال، من الخلية A1 إلى الخلية C1، فسيبدو أحد أسطر التعليمات البرمجية مثل Range("C1").Select. عند ترجمته، يبدو مثل "Range("C1").Select"، بمعنى آخر، ينتقل إلى الخلية C1 في VBA Excel.

يتم إكمال الجزء النشط من التعليمات البرمجية بواسطة الأمر ActiveSheet.Paste. ويعني كتابة محتويات الخلية المحددة (في هذه الحالة A1) في الخلية المحددة C1.

مثال 2

تساعدك حلقات VBA على إنشاء وحدات ماكرو متنوعة في Excel.

تساعدك حلقات VBA على إنشاء وحدات ماكرو متنوعة. لنفترض أن هناك دالة y=x + x2 + 3x3 - cos(x). تحتاج إلى إنشاء ماكرو للحصول على الرسم البياني الخاص به. لا يمكن القيام بذلك إلا باستخدام حلقات VBA.

القيم الأولية والنهائية لوسيطة الدالة هي x1=0 وx2=10. بالإضافة إلى ذلك، يجب عليك إدخال ثابت - قيمة خطوة تغيير الوسيطة والقيمة الأولية للعداد.

يتم إنشاء كافة أمثلة ماكرو VBA Excel باستخدام نفس الإجراء الموضح أعلاه. في هذه الحالة بالذات، يبدو الرمز كما يلي:

افعل بينما x1< x2 (цикл будeт выполняться пока вeрно выражeниe x1 < x2)

ص=x1 + x1^2 + 3*x1^3 - كوس(x1)

الخلايا (i, 1).القيمة = x1 (تتم كتابة قيمة x1 في الخلية ذات الإحداثيات (i,1))

الخلايا (i، 2).القيمة = y (تتم كتابة القيمة y في الخلية ذات الإحداثيات (i،2))

i = i + 1 (العداد ساري المفعول)؛

x1 = x1 + shag (تتغير الوسيطة حسب قيمة الخطوة)؛

ونتيجة تشغيل هذا الماكرو في برنامج إكسيل نحصل على عمودين، يحتوي الأول منهما على قيم x، والثاني على y.

ثم يتم إنشاء رسم بياني منها بطريقة قياسية لبرنامج Excel.

مثال 3

لتنفيذ الحلقات في VBA Excel 2010، كما هو الحال في الإصدارات الأخرى، جنبًا إلى جنب مع إنشاء Do while المعطى بالفعل، يتم استخدام For.

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

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

لأني = 1 إلى 10 التالي

تتم ترجمة الأمر إلى اللغة "البشرية" على أنه "كرر من 1 إلى 10 في خطوات واحدة".

إذا كانت المهمة هي الحصول على عمود به مربعات، على سبيل المثال، لجميع الأرقام الفردية من النطاق من 1 إلى 11، فإننا نكتب:

لأني = 1 إلى 10 الخطوة 1 التالية.

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

يجب حفظ النتائج التي تم الحصول عليها في الخلايا المرقمة (ط،1). بعد ذلك، في كل مرة تبدأ فيها الحلقة بزيادة حجم الخطوة، سيزيد رقم السطر تلقائيًا. وبالتالي، سيتم تحسين الكود.

بشكل عام سيكون الكود كالتالي:

For i = 1 إلى 10 الخطوة 1 (يمكنك ببساطة كتابة For i = 1 إلى 10)

الخلايا (i، 1).القيمة = i ^ 2 (أي قيمة المربع i مكتوبة في الخلية (i،1))

التالي (بمعنى أنه يلعب دور العداد ويعني بداية أخرى للدورة)

إذا تم كل شيء بشكل صحيح، بما في ذلك تسجيل وتشغيل الماكرو (انظر التعليمات أعلاه)، فعند الاتصال به في كل مرة، ستحصل على عمود بالحجم المحدد (في هذه الحالة، يتكون من 10 خلايا).

مثال 4

في الحياة اليومية، غالبًا ما تكون هناك حاجة لاتخاذ قرار أو آخر اعتمادًا على بعض الظروف. لا يمكنك الاستغناء عنها في VBA Excel. أمثلة على البرامج التي يتم فيها اختيار المسار الإضافي لتنفيذ الخوارزمية وليس تحديده مسبقًا في البداية، غالبًا ما تستخدم تركيبة If ...Then (للحالات المعقدة) If ...Then ...END If.

دعونا نفكر في حالة محددة. لنفترض أنك بحاجة إلى إنشاء ماكرو لبرنامج Excel بحيث يتم كتابة ما يلي في الخلية بالإحداثيات (1،1):

1، إذا كانت الحجة إيجابية؛

0 إذا كانت الوسيطة صفر؛

1 إذا كانت الحجة سلبية.

يبدأ إنشاء مثل هذا الماكرو لبرنامج Excel بالطريقة القياسية، من خلال استخدام مفاتيح التشغيل السريع Alt وF11. وبعد ذلك يتم كتابة الكود التالي:

x= Cells(1, 1).Value (يعين هذا الأمر x قيمة محتويات الخلية ذات الإحداثيات (1, 1))

إذا كان x>0 ثم الخلايا (1، 1).القيمة = 1

إذا كان س = 0 ثم الخلايا (1، 1).القيمة = 0

إذا س<0 Then Cells(1, 1).Value = -1

كل ما تبقى هو تشغيل الماكرو والحصول على القيمة المطلوبة للوسيطة في Excel.

وظائف فبا

كما لاحظت بالفعل، فإن البرمجة باستخدام أشهر معالجات Microsoft Table ليست بهذه الصعوبة. خاصة إذا تعلمت كيفية استخدام وظائف VBA. في المجموع، تحتوي لغة البرمجة هذه، التي تم إنشاؤها خصيصًا لكتابة التطبيقات في Excel وWord، على حوالي 160 وظيفة. ويمكن تقسيمها إلى عدة مجموعات كبيرة. هذا:

  • الوظائف الرياضية. ومن خلال تطبيقها على الوسيطة، يحصلون على قيمة جيب التمام، واللوغاريتم الطبيعي، والجزء الصحيح، وما إلى ذلك.
  • الوظائف المالية. بفضل توفرها واستخدام البرمجة في برنامج Excel، يمكنك الحصول على أدوات فعالة للمحاسبة والحسابات المالية.
  • وظائف معالجة المصفوفة. وتشمل هذه Array وIsArray؛ لبوند. Ubound.
  • وظائف Excel VBA للسلسلة. هذه مجموعة كبيرة إلى حد ما. وهي تتضمن، على سبيل المثال، وظائف Space لإنشاء سلسلة بعدد مسافات مساوية للوسيطة الصحيحة، أو Asc لتحويل الأحرف إلى رمز ANSI. يتم استخدامها جميعًا على نطاق واسع وتسمح لك بالعمل مع الصفوف في Excel، وإنشاء تطبيقات تسهل العمل مع هذه الجداول بشكل كبير.
  • وظائف تحويل نوع البيانات. على سبيل المثال، تقوم CVar بإرجاع قيمة وسيطة Expression عن طريق تحويلها إلى نوع البيانات Variant.
  • وظائف للعمل مع التواريخ. إنها تعمل على توسيع القدرات القياسية لبرنامج Excel بشكل كبير. وبالتالي، تقوم الدالة WeekdayName بإرجاع الاسم (الكامل أو الجزئي) ليوم الأسبوع حسب رقمه. والأكثر فائدة هو الموقت. فهو يعطي عدد الثواني التي مرت من منتصف الليل إلى نقطة معينة في اليوم.
  • وظائف لتحويل وسيطة رقمية إلى أنظمة أرقام مختلفة. على سبيل المثال، يعرض Oct الأرقام بتمثيل ثماني.
  • وظائف التنسيق. وأهمها التنسيق. تقوم بإرجاع قيمة متغير بتعبير منسق وفقًا للتعليمات المحددة في إعلان التنسيق.
  • إلخ.

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

مثال 5

دعنا نحاول الانتقال إلى حل المشكلات الأكثر تعقيدًا. على سبيل المثال:

يتم تقديم وثيقة ورقية توضح المستوى الفعلي لتكاليف المؤسسة. مطلوب:

  • تطوير جزء القالب الخاص به باستخدام جدول بيانات Excel؛
  • قم بإنشاء برنامج VBA الذي سيطلب البيانات الأولية لملئها وإجراء الحسابات اللازمة وملء خلايا القالب المقابلة بها.

دعونا نفكر في أحد الحلول الممكنة.

إنشاء قالب

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

المتغيرات

لكتابة برنامج لملء قالب تلقائيًا، تحتاج إلى تحديد الرموز. سيتم استخدامها للمتغيرات:

  • NN - رقم صف الجدول الحالي؛
  • TP و TF - حجم التداول التجاري المخطط والفعلي؛
  • SF وSP - المبلغ الفعلي والمخطط للتكاليف؛
  • IP وIF - المستوى المخطط والفعلي للتكاليف.

دعونا نستخدم نفس الحروف، ولكن مع “البادئة” إيتوج، للدلالة على تراكم الإجمالي لهذا العمود. على سبيل المثال، يشير ItogTP إلى عمود الجدول المعنون "حجم الأعمال المخطط له".

حل مشكلة باستخدام برمجة VBA

باستخدام الرموز المقدمة، نحصل على صيغ الانحرافات. إذا كنت بحاجة إلى الحساب بالنسبة المئوية، فلدينا (F - P) / P * 100، وفي المجموع - (F - P).

أفضل طريقة لإدخال نتائج هذه الحسابات على الفور هي في الخلايا المقابلة في جدول Excel.

بالنسبة للإجماليات الفعلية والمتوقعة، يتم الحصول عليها باستخدام الصيغتين ItogP=ItogP + P وItogF=ItogF+ F.

بالنسبة للانحرافات استخدم = (ItogF - ItogP) / ItogP * 100، إذا تم الحساب كنسبة مئوية، وفي حالة القيمة الإجمالية - (ItogF - ItogP).

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

قبل تشغيل البرنامج الذي تم إنشاؤه، تحتاج إلى حفظ المصنف، على سبيل المثال، تحت اسم "Report1.xls".

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

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


كتاب: استخدام وحدات الماكرو في Excel.

الصفحات: 507

شكل: DJVU
مقاس: 8.02 ميجا بايت

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

كتاب: دورة برمجة Excel مكثفة خلال عطلة نهاية الأسبوع

الناشر: الديالكتيك
الصفحات: 421
شكل: DJVU
مقاس: 12.6 ميجابايت
جودة: طبيعي
لغة: الروسية
النوع: برمجة
سنة النشر: 2004
ردمك: 5-8459-0687-3

لا تقتصر إمكانيات Microsoft Excel على العمل مع جداول البيانات. تكمن وراء أدوات معالجة جداول البيانات لغة برمجة قوية - VBA (Visual Basic for Applications). ومع ذلك، فإن أي مستخدم تقريبًا لديه الفرصة لتعلم كيفية كتابة البرامج في VBA لحل المشكلات الأكثر تنوعًا في Excel - بدءًا من التنفيذ الميكانيكي للحسابات ووصولاً إلى إنشاء نظام لإدخال البيانات باستخدام نماذج الشاشة الخاصة به مع إمكانية مراجعة صحتها من القيم المدخلة

كتاب: البرمجة في VBA 2002

جودة: طبيعي
لغة: الروسية
النوع: برمجة

يحتوي الكتاب على دورة في البرمجة بلغة Visual Basic for Applications (VBA)، وهي اللغة الأساسية في تطبيقات Microsoft Office (Word وExcel وAccess وPowerPoint وFrontPage وVisio وغيرها). الكتاب مخصص للمبتدئين في البرمجة في بيئة Windows باستخدام كائنات Word وExcel وPowerPoint.تم تخصيص جزء من الكتاب لتطوير تطبيقات Office التي تستخدم قواعد البيانات المخزنة في ملفات منفصلة وعلى خوادم بعيدة.يحتوي الكتاب على مواد كافية لتعلم أساسيات لغة Visual Basic وإنشاء وحدات ماكرو بسيطة تساعد على أتمتة العمل الروتيني والمتكرر مع المستندات وجداول البيانات والمخططات والعروض التقديمية وما إلى ذلك، بالإضافة إلى تطوير تطبيقات معالجة قواعد البيانات المعقدة باستخدام مربعات الحوار التي توفر للمستخدم أحدث أدوات الواجهة.معظم الأمثلة في الكتاب مخصصة للقضايا الحالية للنشاط التجاري، لذلك سيكون الكتاب مفيدًا جدًا للمديرين على مختلف المستويات، والذين من الواضح أن كلاً من Microsoft Office ولغة برمجة VBA المضمنة مخصصان لهم.
يمكن أن تكون الملاحق الموجودة في نهاية الكتاب بمثابة مرجع مفيد للعمل مع كل من VBA وVB العادي.

كتاب: البرمجة الاحترافية في VBA في Excel 2003
جون والكينباخ
الناشر: ويليامز
شكل: بي دي إف
مقاس: 11 ميجا بايت
جودة: ممتاز
لغة: الروسية
سنة النشر: 2005
ردمك: 5-8459-0771-3
الكتاب يأتي مع قرص

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

نسخة PDF تم تحريرها ويرجى تقديمها من قبل المشارك.

كتاب: :
جون والكينباخ
الناشر: وايلي
شكل: بي دي إف
الصفحات: 1308
مقاس: 11.9 ميجابايت
جودة: ممتاز
لغة: إنجليزي
سنة النشر: 2010
يركز هذا الكتاب على Visual Basic for Applications (VBA)، وهي لغة البرمجة المضمنة في Excel (والتطبيقات الأخرى التي تشكل Microsoft Office). وبشكل أكثر تحديدًا، سيوضح لك كيفية كتابة البرامج التي تعمل على أتمتة المهام المختلفة في Excel. يغطي هذا الكتاب كل شيء بدءًا من تسجيل وحدات الماكرو البسيطة وحتى إنشاء تطبيقات وأدوات مساعدة متطورة موجهة للمستخدم. لا يغطي هذا الكتاب أدوات Microsoft Visual Studio لـ Office (VSTO). VSTO هي تقنية جديدة نسبيًا تستخدم Visual Basic .NET وMicrosoft Visual C#. يمكن أيضًا استخدام VSTO للتحكم في Excel وتطبيقات Microsoft Office الأخرى.
هذا ليس كتابًا للمبتدئين في استخدام برنامج Excel. إذا لم تكن لديك خبرة في استخدام Excel، فقد يكون الخيار الأفضل هو Excel 2010 Bible، الذي يوفر تغطية شاملة لجميع ميزات Excel. هذا الكتاب مخصص للمستخدمين من جميع المستويات.

كتاب: : البرمجة الاحترافية في VBA في Excel 2010
جون والكينباخ
الناشر: الديالكتيك
شكل: بي دي إف
الصفحات:920
مقاس: 22.1 ميجابايت
جودة: ممتاز
لغة: الروسية
سنة النشر: 2010 موضوع هذا الكتاب هو لغة برمجة Visual Basic for Applications (VBA)، المضمنة في برنامج Excel بالإضافة إلى التطبيقات الأخرى المضمنة في Microsoft Office. فهو يصف بالتفصيل إنشاء البرامج التي تعمل على أتمتة تنفيذ المهام المختلفة في Excel، ويغطي أيضًا مجموعة واسعة من المواضيع الأخرى - من كتابة وحدات ماكرو بسيطة إلى إنشاء تطبيقات وأدوات مساعدة معقدة مصممة لتفاعل المستخدم. لا يصف هذا الكتاب حزمة برامج Microsoft Visual Studio Tools for Office (VSTO). إنه تجسيد لتقنية جديدة نسبيًا تستخدم Visual Basic .NET وMicrosoft Visual C#. يمكن أيضًا استخدام تقنية VSTO للتحكم في سلوك برنامج Excel وتطبيقات Microsoft Office الأخرى.

هذا الكتاب ليس مخصصًا لمستخدمي Excel المبتدئين. إذا لم تكن لديك خبرة في هذا التطبيق، فاقرأ أولاً كتاب Excel 2010. الكتاب المقدس للمستخدم، والذي يشرح بالتفصيل جميع إمكانيات Excel (وهو موجه للمستخدمين من جميع المستويات).


كتاب:البرنامج التعليمي لـ VBA
جارناييف أ.
الناشر: bhv
الصفحات: 512
شكل: أتش تي أم أل مع الصور في رر
ردمك: 5-8206-0067-3
مقاس: 2.22 ميجابايت

ممتاز

لغة: إنجليزي
سنة النشر: 2009

يعد Microsoft Excel أكثر من مجرد جدول بيانات. مع تقديم محرر Visual Basic في Excel 97، متبوعًا بالتحسن الكبير في الاستقرار في Excel 2000، أصبح Excel نظامًا أساسيًا للتطوير محترمًا في حد ذاته. توجد الآن تطبيقات Excel جنبًا إلى جنب مع تلك التي تعتمد على C++، وJava، ومنصة التطوير .NET، كجزء من المجموعة الأساسية لتطبيقات الشركات ذات المهام الحرجة.
لسوء الحظ، لا يزال يُنظر إلى Excel في كثير من الأحيان على أنه منصة للهواة، حيث يقوم الأشخاص بتطوير تطبيقات Excel فقط في أوقات فراغهم لأتمتة المهام البسيطة. يبدو أن نظرة سريعة على العديد من كتب Excel VBA تؤكد هذا الرأي. تركز هذه الكتب على أساسيات أتمتة مهام Excel باستخدام VBA. يعد هذا الكتاب الأول من نوعه في تقديم شرح تفصيلي لكيفية استخدام برنامج Excel كمنصة لتطوير تطبيقات ذات جودة احترافية.
في حين يبدو أن معظم منصات التطوير الرئيسية الأخرى تحتوي على نص قياسي فعلي يشرح أفضل الممارسات المتفق عليها بشكل عام لتصميم التطبيقات وتصميمها وتطويرها باستخدام هذا النظام الأساسي، إلا أن Excel لم يفعل ذلك حتى الآن. ويحاول هذا الكتاب سد هذه الفجوة. المؤلفون هم مطورو Excel المحترفون الذين يقومون بإنشاء تطبيقات مستندة إلى Excel لعملاء تتراوح من الأفراد إلى أكبر الشركات متعددة الجنسيات. يشرح هذا الكتاب الأساليب التي نستخدمها عند تصميم التطبيقات التي نكتبها لعملائنا وتطويرها وتوزيعها ودعمها.
تم توفير هذا الكتاب من قبل المستخدم

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

ما هو فبا

تتم البرمجة في برنامج Excel باستخدام لغة برمجة Visual Basic للتطبيقات، والتي تم دمجها في الأصل في معالج جداول البيانات الأكثر شهرة من Microsoft.

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

عيب البرنامج هو المشاكل المرتبطة بتوافق الإصدارات المختلفة. وهي تحدث بسبب وصول كود برنامج VBA إلى الوظيفة الموجودة في الإصدار الجديد من المنتج ولكن ليس في الإصدار القديم. تشمل العيوب أيضًا الانفتاح العالي جدًا للكود للتغييرات التي يجريها شخص خارجي. ومع ذلك، يسمح Microsoft Office وIBM Lotus Symphony للمستخدم بتشفير الكود الأولي وتعيين كلمة مرور لعرضه.

الكائنات والمجموعات والخصائص والأساليب

هذه هي المفاهيم التي يجب أن يفهمها أولئك الذين سيعملون في بيئة VBA. بادئ ذي بدء، عليك أن تفهم ما هو الكائن. في Excel، هذه الوظائف هي الورقة والمصنف والخلية والنطاق. هذه الكائنات لها تسلسل هرمي خاص، أي. يطيع بعضهم البعض.

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

أما بالنسبة لمفهوم "المجموعة"، فهي مجموعة من الكائنات من نفس الفئة، والتي لها في الإدخال شكل ChartObjects. عناصرها الفردية هي أيضًا كائنات.

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

الأساليب هي أوامر تشير إلى ما يجب القيام به. عند كتابة التعليمات البرمجية في VBA، يجب فصلها عن الكائن بنقطة. على سبيل المثال، كما سيتم عرضه لاحقًا، في كثير من الأحيان عند البرمجة في Excel، يتم استخدام الأمر Cells(1,1).Select. هذا يعني أنك بحاجة إلى تحديد خلية ذات إحداثيات

غالبًا ما يتم استخدام Selection.ClearContents معه. تنفيذ هذا يعني مسح محتويات الخلية المحددة.

كيف تبدأ

ثم عليك أن تذهب إلى تطبيق VB، والذي تحتاج فقط إلى استخدام مجموعة المفاتيح "Alt" و "F11". إضافي:

  • في شريط القائمة الموجود أعلى النافذة، انقر فوق الأيقونة الموجودة بجوار أيقونة Excel؛
  • حدد أمر Mudule؛
  • احفظ بالضغط على الأيقونة التي تحتوي على الصورة؛
  • يكتبون، دعنا نقول، مسودة الكود.

تبدو هكذا:

البرنامج الفرعي()

"الرمز الخاص بنا

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

يمكنك الآن كتابة أي كود وإنشاء أداة جديدة لنفسك في VBA Excel (انظر أمثلة البرامج أدناه). وبطبيعة الحال، سيكون الأمر أسهل بكثير بالنسبة لأولئك الذين هم على دراية بأساسيات Visual Basic. ومع ذلك، حتى أولئك الذين لا يملكونها يمكنهم التعود عليها بسرعة كافية إذا رغبوا في ذلك.

وحدات الماكرو في Excel

يخفي هذا الاسم البرامج المكتوبة بلغة Visual Basic for Application. وبالتالي، فإن البرمجة في Excel تعني إنشاء وحدات ماكرو بالرمز اللازم. بفضل هذه الميزة، يقوم معالج جداول بيانات Microsoft بتطوير نفسه، والتكيف مع متطلبات مستخدم معين. بعد أن تعرفت على كيفية إنشاء وحدات نمطية لكتابة وحدات الماكرو، يمكنك البدء في إلقاء نظرة على أمثلة محددة لبرامج VBA Excel. من الأفضل أن تبدأ بالرموز الأساسية.

مثال 1

المهمة: كتابة برنامج يقوم بنسخ قيمة محتويات خلية ثم كتابتها إلى خلية أخرى.

لهذا:

  • افتح علامة التبويب "عرض"؛
  • انتقل إلى أيقونة "وحدات الماكرو"؛
  • انقر على "تسجيل الماكرو"؛
  • املأ النموذج الذي يفتح.

للتبسيط، اترك "Macro1" في حقل "اسم الماكرو"، وأدخل، على سبيل المثال، hh في حقل "اختصار لوحة المفاتيح" (وهذا يعني أنه يمكنك تشغيل البرنامج باستخدام الأمر السريع "Ctrl+h"). اضغط دخول.

الآن بعد أن بدأ تسجيل الماكرو بالفعل، يتم نسخ محتويات الخلية إلى خلية أخرى. العودة إلى الأيقونة الأصلية. انقر على "تسجيل الماكرو". هذا الإجراء يعني نهاية البرنامج.

  • ارجع إلى سطر "وحدات الماكرو"؛
  • حدد "ماكرو 1" من القائمة؛
  • انقر فوق "تشغيل" (يتم تشغيل نفس الإجراء عن طريق تشغيل مجموعة المفاتيح "Ctrl + hh").

ونتيجة لذلك، يحدث الإجراء الذي تم تنفيذه أثناء تسجيل الماكرو.

من المنطقي أن نرى كيف يبدو الرمز. للقيام بذلك، ارجع إلى سطر "وحدات الماكرو" وانقر على "تغيير" أو "تسجيل الدخول". ونتيجة لذلك، يجدون أنفسهم في بيئة VBA. في الواقع، رمز الماكرو نفسه يقع بين السطور Sub Macro1() وEnd Sub.

إذا تم النسخ، على سبيل المثال، من الخلية A1 إلى الخلية C1، فسيبدو أحد أسطر التعليمات البرمجية مثل Range("C1").Select. عند ترجمته، يبدو مثل "Range("C1").Select"، بمعنى آخر، ينتقل إلى VBA Excel، إلى الخلية C1.

يتم إكمال الجزء النشط من التعليمات البرمجية بواسطة الأمر ActiveSheet.Paste. ويعني كتابة محتويات الخلية المحددة (في هذه الحالة A1) في الخلية المحددة C1.

مثال 2

تساعدك حلقات VBA على إنشاء وحدات ماكرو متنوعة في Excel.

تساعدك حلقات VBA على إنشاء وحدات ماكرو متنوعة. لنفترض أن لدينا دالة y=x + x 2 + 3x 3 - cos(x). تحتاج إلى إنشاء ماكرو للحصول على الرسم البياني الخاص به. لا يمكن القيام بذلك إلا باستخدام حلقات VBA.

القيم الأولية والنهائية لوسيطة الدالة هي x1=0 وx2=10. بالإضافة إلى ذلك، يجب عليك إدخال ثابت - قيمة خطوة تغيير الوسيطة والقيمة الأولية للعداد.

يتم إنشاء كافة أمثلة ماكرو VBA Excel باستخدام نفس الإجراء الموضح أعلاه. في هذه الحالة بالذات، يبدو الرمز كما يلي:

البرنامج الفرعي()

الخطوة = 0.1

افعل بينما x1< x2 (цикл будет выполняться пока верно выражение x1 < x2)

ص=x1 + x1^2 + 3*x1^3 - كوس(x1)

الخلايا (i، 1).القيمة = x1 (يتم كتابة القيمة x1 في الخلية بالإحداثيات (i،1))

الخلايا (i، 2).القيمة = y (تتم كتابة قيمة y في الخلية بالإحداثيات (i،2))

i = i + 1 (العداد ساري المفعول)؛

x1 = x1 + shag (تتغير الوسيطة حسب قيمة الخطوة)؛

نهاية الفرعية.

ونتيجة تشغيل هذا الماكرو في برنامج إكسيل نحصل على عمودين، يحتوي الأول منهما على قيم x، والثاني على y.

ثم يتم إنشاء رسم بياني منها بطريقة قياسية لبرنامج Excel.

مثال 3

لتنفيذ الحلقات في VBA Excel 2010، كما هو الحال في الإصدارات الأخرى، جنبًا إلى جنب مع بنية Do while المحددة بالفعل، يتم استخدام For.

فكر في برنامج يقوم بإنشاء عمود. سيتم كتابة مربعات رقم الصف المقابل في كل خلية منها. سيسمح لك استخدام البنية For بكتابتها باختصار شديد، دون استخدام عداد.

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

لأني = 1 إلى 10 التالي

تتم ترجمة الأمر إلى اللغة "البشرية" على أنه "كرر من 1 إلى 10 في خطوات واحدة".

إذا كانت المهمة هي الحصول على عمود به مربعات، على سبيل المثال، لجميع الأرقام الفردية من النطاق من 1 إلى 11، فإننا نكتب:

لأني = 1 إلى 10 الخطوة 1 التالية.

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

يجب حفظ النتائج التي تم الحصول عليها في الخلايا المرقمة (ط،1). بعد ذلك، في كل مرة تبدأ فيها الحلقة، مع زيادة حجم الخطوة، سيزيد رقم الصف تلقائيًا. بهذه الطريقة سيتم تحسين الكود.

بشكل عام سيبدو الكود كالتالي:

البرنامج الفرعي()

For i = 1 إلى 10 الخطوة 1 (يمكنك ببساطة كتابة For i = 1 إلى 10)

الخلايا (i، 1).القيمة = i ^ 2 (أي قيمة المربع i مكتوبة في الخلية (i،1)

التالي (بمعنى ما يلعب دور العداد ويعني بداية أخرى للحلقة)

نهاية الفرعية.

إذا تم كل شيء بشكل صحيح، بما في ذلك تسجيل وتشغيل الماكرو (انظر التعليمات أعلاه)، فعند الاتصال به، في كل مرة تحصل على عمود بالحجم المحدد (في هذه الحالة، يتكون من 10 خلايا).

مثال 4

في الحياة اليومية، غالبًا ما تكون هناك حاجة لاتخاذ قرار أو آخر اعتمادًا على بعض الظروف. لا يمكنك الاستغناء عنها في VBA Excel. أمثلة على البرامج التي يتم فيها اختيار المسار الإضافي لتنفيذ الخوارزمية وليس تحديده مسبقًا في البداية، غالبًا ما تستخدم تركيبة If ...Then (للحالات المعقدة) If ...Then ...END If.

دعونا نفكر في حالة محددة. لنفترض أنك بحاجة إلى إنشاء ماكرو لبرنامج Excel بحيث يتم كتابة ما يلي في الخلية بالإحداثيات (1،1):

1 إذا كانت الحجة إيجابية؛

0 إذا كانت الوسيطة فارغة؛

-1 إذا كانت الوسيطة سلبية.

يبدأ إنشاء مثل هذا الماكرو لبرنامج Excel بالطريقة القياسية، من خلال استخدام مفاتيح التشغيل السريع Alt وF11. وبعد ذلك يتم كتابة الكود التالي:

البرنامج الفرعي()

x= الخلايا(1، 1).القيمة (يعين هذا الأمر x قيمة محتويات الخلية عند الإحداثيات (1، 1))

إذا كان x>0 ثم الخلايا (1، 1).القيمة = 1

إذا كان س = 0 ثم الخلايا (1، 1).القيمة = 0

إذا س<0 Then Cells(1, 1).Value = -1

نهاية الفرعية.

كل ما تبقى هو تشغيل الماكرو والحصول على القيمة المطلوبة للوسيطة في Excel.

وظائف فبا

كما لاحظت بالفعل، فإن البرمجة باستخدام معالج جداول البيانات الأكثر شهرة لدى Microsoft ليست بهذه الصعوبة. خاصة إذا تعلمت كيفية استخدام وظائف VBA. في المجموع، تحتوي لغة البرمجة هذه، التي تم إنشاؤها خصيصًا لكتابة التطبيقات في Excel وWord، على حوالي 160 وظيفة. ويمكن تقسيمها إلى عدة مجموعات كبيرة. هذا:

  • الوظائف الرياضية. وبتطبيقها على الوسيطة، يحصلون على قيمة جيب التمام، واللوغاريتم الطبيعي، والجزء الصحيح، وما إلى ذلك.
  • الوظائف المالية. بفضل توفرها واستخدام البرمجة في برنامج Excel، يمكنك الحصول على أدوات فعالة للمحاسبة والحسابات المالية.
  • وظائف معالجة المصفوفة. وتشمل هذه Array وIsArray؛ لبوند. Ubound.
  • وظائف Excel VBA للسلسلة. هذه مجموعة كبيرة إلى حد ما. يتضمن ذلك، على سبيل المثال، وظائف Space لإنشاء سلسلة بعدد مسافات مساوية للوسيطة الصحيحة، أو Asc لتحويل الأحرف إلى كود ANSI. يتم استخدام كل منهم على نطاق واسع ويسمح لك بالعمل مع الصفوف في Excel، وإنشاء تطبيقات تسهل بشكل كبير العمل مع هذه الجداول.
  • وظائف تحويل نوع البيانات. على سبيل المثال، تقوم CVar بإرجاع قيمة وسيطة Expression عن طريق تحويلها إلى نوع البيانات Variant.
  • وظائف للعمل مع التواريخ. إنها توسع بشكل كبير المعايير، وبالتالي، تقوم الدالة WeekdayName بإرجاع الاسم (الكامل أو الجزئي) ليوم الأسبوع برقمه. والأكثر فائدة هو الموقت. فهو يعطي عدد الثواني التي مرت من منتصف الليل إلى نقطة معينة في اليوم.
  • وظائف لتحويل وسيطة رقمية إلى أنظمة أرقام مختلفة. على سبيل المثال، يقوم Oct بإخراج الأرقام بالنظام الثماني.
  • وظائف التنسيق. وأهمها التنسيق. تقوم بإرجاع قيمة متغير بتعبير منسق وفقًا للتعليمات المحددة في إعلان التنسيق.
  • إلخ.

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

مثال 5

دعنا نحاول الانتقال إلى حل المشكلات الأكثر تعقيدًا. على سبيل المثال:

يتم تقديم وثيقة ورقية توضح المستوى الفعلي لتكاليف المؤسسة. مطلوب:

  • تطوير جزء القالب الخاص به باستخدام جدول بيانات Excel؛
  • قم بإنشاء برنامج VBA الذي سيطلب البيانات الأولية لملئها وإجراء الحسابات اللازمة وملء خلايا القالب المقابلة بها.

دعونا نفكر في أحد خيارات الحل.

إنشاء قالب

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

المتغيرات

لكتابة برنامج لملء قالب تلقائيًا، تحتاج إلى تحديد الرموز. سيتم استخدام هذه للمتغيرات:

  • NN - رقم صف الجدول الحالي؛
  • TP و TF - حجم التداول التجاري المخطط والفعلي؛
  • SF وSP - المبلغ الفعلي والمخطط للتكاليف؛
  • IP وIF - المستوى المخطط والفعلي للتكاليف.

دعونا نستخدم نفس الحروف، ولكن مع “البادئة” إيتوج، للدلالة على تراكم الإجمالي لهذا العمود. على سبيل المثال، يشير ItogTP - إلى عمود الجدول المعنون "حجم الأعمال المخطط له".

حل مشكلة باستخدام برمجة VBA

باستخدام الرموز المقدمة، نحصل على صيغ الانحرافات. إذا كنت بحاجة إلى الحساب بالنسبة المئوية، فلدينا (F - P) / P * 100، وفي المجموع - (F - P).

من الأفضل إدخال نتائج هذه الحسابات مباشرةً في الخلايا المناسبة في جدول بيانات Excel.

بالنسبة للإجماليات الفعلية والمتوقعة، يتم الحصول عليها باستخدام الصيغتين ItogP=ItogP + P وItogF=ItogF+ F.

بالنسبة للانحرافات استخدم = (ItogF - ItogP) / ItogP * 100 إذا تم الحساب كنسبة مئوية، وفي حالة القيمة الإجمالية - (ItogF - ItogP).

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

قبل تشغيل البرنامج الذي تم إنشاؤه، تحتاج إلى حفظ المصنف، على سبيل المثال، تحت اسم "Report1.xls".

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

أنت الآن تعرف كيفية حل مشكلات Excel باستخدام وحدات الماكرو. قد تكون هناك حاجة أيضًا إلى القدرة على استخدام vba excel (انظر أمثلة البرامج أعلاه) للعمل في محرر النصوص الأكثر شيوعًا حاليًا، Word. على وجه الخصوص، يمكنك إنشاء أزرار القائمة عن طريق الكتابة، كما هو موضح في بداية المقالة، أو عن طريق كتابة التعليمات البرمجية، والتي بفضلها يمكن تنفيذ العديد من العمليات على النص عن طريق الضغط على مفاتيح المهام أو من خلال علامة التبويب "عرض" و أيقونة "وحدات الماكرو".

(فيجوال بيسك للتطبيقات)

لغة برمجة أساسية - عالية المستوى (مترجم فوري)

مرئي - يحتوي على أدوات مرئية لتطوير البرامج (الرموز) التي تعمل على تبسيط عمل المستخدم، وتسمح لك بتسجيل الرموز باستخدام مسجل الماكرو.

التطبيق - تطبيق لنظام برامج MSOffice، إلى جانب تطبيقات Word وAccess وPowerPoint.

لماذا هو مطلوب؟فبا؟

    يجمع (يدمج) التطبيقات، ويسمح لك بإدارة عمل التطبيقات الأخرى دون مغادرة Excel، وتضمين كائنات من تطبيقات أخرى؛

    تشكل الإجراءات المتاحة للمستخدم في ورقة العمل 10% من جميع إمكانيات تطبيق Excel الذي يسمح لك بأتمتة عمل مشروعك.

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

الكائنات الرئيسيةفبا:

التطبيق (تطبيق Excel نفسه)

المصنف (المصنف هو ملفك)

WorkSheetFunction (معالج الوظائف)

ورقة عمل

يتراوح

جدول

أسلوب

حدود

التصميم الداخلي (لون الخلفية)

الخط (الخط)

مجموعة من بعض الكائنات تشكل العائلات-المصنفات، أوراق العمل، الرسوم البيانية.

الكائنات لها خصائص (إجراءات على الكائنات) وأساليب (إجراءات على الكائنات نفسها).

لنبدأ في التعرف على أدوات التصور لتطوير المشروع في VBA. هذه هي بيئة تطوير التطبيقات المتكاملة. للدخول إلى هذه البيئة، تحتاج إلى تحديد ToolsMacroVBA Editor من عنصر القائمة أو الضغط على مفتاحي ALT وF11 في الوقت نفسه.

ستظهر مكونات محرر VBA على الشاشة:

نافذة المشروع – مشروع VBA

نافذة الخصائص

نافذة الكود

نافذة نموذج المستخدم

أشرطة الأدوات

تُظهر نافذة Project – VBAProject (الشكل 1) بنية مشروعك (ملف). يتم تنشيط هذه النافذة في محرر VBA عن طريق تحديد الأمر View  Project Explorer أو الزر "Project Explorer" أو بالضغط على Ctrl + R

أرز. 1 نافذة المشروع.

الشكل 2: بيئة تطوير التطبيقات المتكاملة

تم تصميم نافذة التعليمات البرمجية لتخزين التعليمات البرمجية المرتبطة بكائن ما. كل كائن له نافذة خاصة به، لذلك يكون لكل ورقة عمل نافذة تعليمات برمجية خاصة بها، كما أن للمصنف نافذة خاصة به.

إنشاء وظائف مخصصة

تتم إضافة الوظائف المخصصة إلى قائمة معالج الوظائف القياسية (WorkSheetFunction). يتم إنشاء هذه الوظائف في وحدة نمطية خاصة تصاحب كائن WorkSheetFunction. تتم إضافة هذه الوحدة إلى المشروع باستخدام أمر InsertModule، وسوف تظهر في نافذة المشروع على مستوى التطبيق الخاص بك. ستظهر جميع التعليمات البرمجية المكتوبة في هذه الوحدة في فئة الوظائف المحددة بواسطة المستخدم في معالج الوظائف.

لذلك، نضيف وحدة إلى مشروعنا (InsertModule) وفي نافذة التعليمات البرمجية لهذه الوحدة نكتب نص البرنامج:

y = Cos((x + 2) / 2) ^ 2 + Exp(-2 * x) / (x ^ 2 + 1) ^ 0.5

ثم ننتقل إلى ورقة العمل "الرسم البياني 1"، وفي الخلية c2 سنصل إلى الوظيفة الجديدة المضافة إلى معالج الوظائف - y(x). العمل مع هذه الوظيفة لا يختلف عن العمل مع أي وظيفة أخرى. في الخطوة الأولى، تحتاج إلى تحديد y(x) في فئة "الوظائف المحددة من قبل المستخدم"، وفي الخطوة الثانية، حدد الخلية A2 كوسيطة x. ونتيجة لذلك، سيتم كتابة الصيغة =y(A2) في الخلية C2. اسحب هذه الصيغة عبر النطاق بأكمله A2:A17 كما هو موضح في الشكل. 3. بالطبع يجب أن تتطابق النتيجة مع ما حصلت عليه من خلال حساب هذه الدالة باستخدام أدوات ورقة العمل المعتادة.

الشكل 3. الدالة y(x)، محسوبة بالطريقة المعتادة وباستخدام دالة محددة من قبل المستخدم.

عبارات vba الأساسية – العبارات الشرطية

العوامل الشرطية لها شكلين من الكتابة:

1) سطر واحد

لو< условие>ثم<оператор 1>

IF,THEN,ELSE – خدمة الكلمات غير القابلة للتغيير، بين قوسين< >نص المستخدم هو ما تكتبه وفقًا للمهمة، والجزء الموجود بين قوسين مربعين اختياري، وقد يكون النص مفقودًا. يستخدم هذا النموذج عادة في حالة الإجراءات البسيطة، على سبيل المثال، عند حساب معامل الرقم y=x=abs(s)، يمكنك استخدام العامل التالي:

إذا x > 0 ثم y = x ELSE y = -x

2) في عدة أسطر. في هذه الحالة، يجب أن تنتهي العبارة الشرطية بالعبارة "ENDIF".

لو<условие>ثم

<оператор 1>

<оператор 2>

<оператор 3>

<оператор 4>

يُستخدم هذا النموذج في العمليات الحسابية المعقدة، على سبيل المثال، عند حساب جذور المعادلة التربيعية. لنفترض أننا بحاجة إلى إيجاد جذور المعادلة a*x 2 +b*x+c= 0. كما هو معروف، إذا كان b 2 -4*a*c≥ 0، فسيتم حساب الجذور باستخدام الصيغة
، إذا كان b 2 -4*a*c≥ 0، فلا توجد جذور في منطقة الأعداد الحقيقية. تبدو العبارة الشرطية التي تنفذ هذه الخوارزمية كما يلي:

إذا كان b^2 -4*a*c>= 0 إذن

X1 = (-ب + (ب^2 - 4*أ*ج)^(1/2)) / (2*أ)

X2 = (-ب + (ب^2 + 4*أ*ج)^(1/2)) / (2*أ)

X1 = "لا يوجد حل"

X2 = "لا يوجد حل"

أمثلة على كتابة الوظائف المخصصة في vba

مثال 1.

F
الدالة ص(خ)

y = Cos((x + 2) / 2) ^ 2 + Exp(-2 * x) / (x ^ 2 + 1) ^ 0.5

وظيفة النهاية

مثال 2

الدالة ض(خ)

إذا س< 0 Then

ض = (1 + س + س ^ 2) / (1 + س ^ 2)

إذا س< 1 Then

ض = (1 + 2 * س / (1 + س ^ 2)) ^ (1 / 2)

ض = 2 * القيمة المطلقة (0.5 + الخطيئة (س))

وظيفة النهاية

محاضرة 2

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

    ضوابط

    أنواع المتغيرات في VBA

    تصريحات حلقة

    مثال على برنامج جدولة الوظائف

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

دعنا نواصل التعرف على نموذج كائن VBA. يتم تنظيم جميع الكائنات في هيكل هرمي، تابع لكائن المستوى الأعلى "التطبيق".

طلب . المصنفات ("الرسوم البيانية") .

إذا كان المصنف (الملف) "المخططات" نشطًا، فيكفي التحديد

أوراق العمل ("المحتويات").النطاق ("A1").

إذا كنت تعمل على ورقة "المحتويات"، فسيبدو الرابط مثل النطاق ("A1").

جميع الكائنات لها خصائص وأساليب وأحداث.

ملكيةهذه بعض خصائص الكائن (اللون، الشكل، الاسم، الموقع، الرؤية، إلخ.) يتم تعيين قيمة الكائن على النحو التالي:

Object.Property = قيمة الخاصية

طريقةهذا إجراء يتم تنفيذه على كائن (فتح، إغلاق، حذف). قواعد طريقة الكتابة:

شيء. طريقة

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

يتكون جوهر البرمجة في VBA من مفهومين - الحدث والاستجابة له. إذا كان للمستخدم تأثير على النظام (الضغط على زر)، وهو حدث، فمن الممكن باستخدام VBA برمجة استجابة - إجراء استجابة.

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

ملكية

كائن التطبيق

التسمية التوضيحية (عنوان الكائن)

إنهاء (خروج Excel

NewWorkBook (إنشاء مصنف جديد)

الاسترداد التلقائي (الحفظ التلقائي)

يحفظ

تنشيط الورقة (انتقل إلى ورقة العمل)

النمط المرجعي (نمط الارتباط)

تشغيل (تنفيذ ماكرو)

WorkBookOpen (فتح مصنف)

MemoryFree (معلومات حول ذاكرة الوصول العشوائي المجانية)

متقلب (إعادة الحساب عند حدوث تغييرات في خلايا ورقة العمل)

WorkBookBeforeClose (إغلاق المصنف)

MemoryTotal (معلومات حول إجمالي ذاكرة الوصول العشوائي)

حساب (الحساب في كافة المصنفات المفتوحة)

SheetBeforeDubleClick (نقر مزدوج)

الذاكرة المستخدمة (معلومات حول ذاكرة الوصول العشوائي المستخدمة)

IpputBox (إدخال البيانات)

ورقةBeforeRightClick (النقر بزر الماوس الأيمن)

CellDragAndDrop (التحكم في سحب الصيغ في الخلايا)

Msgbox (إخراج الرسالة)

ActiveCell، ActiveSheet (خلية نشطة، ورقة)

الخلايا (نطاق الخلايا)

DisplayFormulaBar (عرض شريط الصيغة)

DisplayScrollBar (عرض أشرطة التمرير)

DisplayStatusBar (عرض شريط الحالة)

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

يتم تسجيل هذه الإجراءات في وحدة "هذا المصنف" ويتم تنفيذها عند فتح المصنف وإغلاقه، أي عند تنفيذ الأحداث Open وBeforeClose:

مصنف فرعي خاص_open()

"عنوان المصنف

Application.Caption = "كان Kisa وOsya هنا"

"نطاق لون الخلفية A1:D1 - أحمر

"حدود النطاق A1:D1 منقطة

"تم إلغاء سحب الخلية. CellDragAndDrops

Application.CellDragAndDrop = خطأ

‘ تتم إزالة شريط الصيغة

Application.DisplayFormulaBar = خطأ

"تتم إزالة أشرطة التمرير."

Application.DisplayScrollBars = خطأ

"يحدد نمط الارتباط R1C1

Application.ReferenceStyle = xlR1C1

"مصنف فرعي خاص_قبل الإغلاق (إلغاء كقيمة منطقية)

"تمت استعادة سحب الخلايا CellDragAndDrops

Application.CellDragAndDrop = صحيح

"تمت استعادة شريط الصيغة."

Application.DisplayFormulaBar = صحيح

"تتم استعادة أشرطة التمرير."

Application.DisplayScrollBars = صحيح

"تمت استعادة نمط الارتباط A1."

Application.ReferenceStyle = xlA1