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

VBA Excel: أمثلة للبرامج. وحدات الماكرو في إكسل

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

برامج عينة VBA Excel

ما هو VBA؟

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

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

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

وظائف VBA

كائنات ومجموعات وخصائص وطرق

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

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

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

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

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

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

دورات VBA

كيف تبدأ

أولاً ، تحتاج إلى إنشاء ملف وحفظه عن طريق تعيين اسم وتحديد نوع "مصنف Excel مع دعم الماكرو".

ثم تحتاج إلى الانتقال إلى تطبيق VB ، فقط استخدم مفاتيح "Alt" و "F11". التالي:

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

يبدو مثل هذا:

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

"لدينا الكود

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

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

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

وحدات الماكرو في إكسل

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

مثال 1

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

للقيام بذلك:

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

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

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

التالي:

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

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

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

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

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

مثال 2

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

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

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

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

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

1 × 1

x2 = 10

الخطوة = 0.1

و 1 =

القيام أثناء X1

y = x1 + x1 ^ 2 + 3 * x1 ^ 3 - Cos (x1)

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

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

i = i + 1 (يعمل العداد) ؛

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

أنشوطة

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

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

ثم يقومون برسم الرسم البياني بطريقة قياسية لـ Excel.

البرمجة في Excel

مثال 3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

أمثلة على وحدات ماكرو Excel VBA

مثال 4

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

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

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

0 إذا كانت الحجة صفراً ؛

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

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

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

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

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

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

إذا كانت x <0 ثم Cells (1، 1) .Value = -1

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

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

وظائف VBA

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

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

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

مثال 5

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

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

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

فكر في أحد الحلول.

خلق قالب

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

المتغيرات

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

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

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

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

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

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

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

للحصول على نتائج حول الحقيقة ويتم الحصول على التنبؤ بواسطة الصيغ ItogP = ItogP + P و ItogF = ItogF + F.

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

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

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

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

VBA Excel 2010

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

يحب:
0
الوظائف الشعبية
التطور الروحي
طعام
ذ