اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

المتغيرات Variable:

المتغيرات هي دعامة البرمجه بأي لغة كانت اذ يمكننا ان نقوم بتعريف المتغير على انه وعاء او خانه في رامات الجهاز وتخزن داخل هذه الخانة مجموعه من القيم ليتم استخدامها داخل البرنامج ,

فيمكنك على سبيل المثال حجز متغير لتضع داخله مرتب العامل ومتغير اخر لإسم العامل ومتغير ثالث لعنوان العامل حتى يمكنك تسجيل تلك القيم التي تم تسجيلها داخل المتغيرات اثناء تنفيذ البرنامج,

لكن تلك القيم المسجله داخل المتغيرات هي قيم مؤقته أي انه بمجرد الانتهاء من تنفيذ البرنامج ستفقد تلك القيم وذالك لكونها في ذاكرة الكمبيوتر( الرامات)

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

فعلى بيل المثال اذا اردنا ان نجمع الرقمين 5 و 6 فنقوم بحجز متغيرين ونضع باحداهما القيمة 5 والاخر القيمة6 وبعد ان تتم العمليه الحسابيه فإننا لن نحتاج الاّ للناتج النهائي وهو الرقم 11 وبعد ذلك لن نحتاج لكلا الرقمين 5 و6

  • Like 1
قام بنشر

اسماء المتغيرات:

يجب ان نعطي لكل متغير نستخدمه في البرنامج اسماً له لكي يتم التعامل مع المتغير من خلال الاسم الذي قمنا بتسميته له ولكن لاسم المتغير شروط محدده لا يمكن تجاوزها وهي :

1- ان لا يزيد اسم المتغير عن 255 حرفاً

2- ان يكون اول حرف من اسم المتغير حرفاً هجائياً ويمكن بعد ذلك ان يحتوي على ارقام

3- ان لا يتخلل اسم المتغي مسافات او احدى العلامات التاليه :

* ! @ # $ % ^

واذا لزم الامر لوضع مسافه باسم المتغير نضع بدلاً من المسافه العلامه (_) Underscore

4- ان لا يكون ضمن اسم المتغير احدى الكلمات المحجوزة مثل If و Select .........

5- يجب ان لا نكرر اسم المتغير داخل الاجراء الواحد ومن الافضل ان لا نكرر اسم المتغير داخل البرنامج ككل منعاً للأخطاء

قام بنشر

هناك عدة انواع من المتغيرات توفرها لنا لغة الـ VBA ويمكننا اختيار النوع الذي نرغب في استخدامه بناءاً على القيمة الذي نريد تخزينها بداخله .. وتنقسم المتغيرات في الاكسيل الى:

1- المتغيرات الرقمية:

هي متغيرات يتم حجزها ليتم وضع داخلها قيمة رقمية ويمكننا تقسيم المتغرات الرقمية الى النوعين التاليين ..

أ- المتغيرات الرقمية الصحيحه

وهي متغيرات يتم وضع داخلها قيم رقميه صحيحه وليست قيم عشريه .. وتنقدسم المتغيرات الرقميه الصحيحه الى

Byte وهو يأخذ حجم 1بايت من الرامات

Ineger وهو يأخذ حجم 2بايت من الرامات

Long وهو يأخذ حجم 4بايت من الرامات

اي الفرق بينهم الحيز الذي يشغله المتغير في ذاكرة الجهاز (الرامات) ... بالطبع كلما زادت عدد البايتات كلما زادة القيمة التي يمكن تخزينها داخل المتغير

ب- المتغيرات الرقمية العشريه

هي متغيرات رقمية يتم حجزها داخل ذاكرة الجهاز حتى يتم وضع قيمة رقمية عشرية بداخلها .. وتنقسم المتغيرات الرقمية العشريه الى

ٍٍٍSingle وهو يأخذ حجم 4بايت من الرامات

Double وهو يأخذ حجم 8بايت من الرامات

2- المتغيرات الحرفية:

هو متغير يتم تخزين داخله قيمة حرفية (اسم شخص مثلاً او عنوان شخص ..... الخ) ويمكن تخزين حتى خمسه وستون الف وخمسمائة حرف داخل المتغير الواحد الحرفي

3- المتغيرات المتلونة او المتنوعه:

المتغير المتنوع Viarant هو متغير عام اي يمكن يحتوي على اي من قيم المتغيرات السابق ذكرها فيمكنك ان تضع به اسم شخص او رقم صحيح او رقم عشري او اي قيم تريدها

ملاحظة ****************

لماذا اذاً لا نستخدم المتغير المتنوع او المتلون Viarant بشكل دائم ؟

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

4 - المتغيرات الكائنيه او المتغير الكائن (Object Variable):

هو متغير من نوع كائن وليس قيمة اي يمكننا ان نستخدم متغير من نوع Range او متغير من نوع Worksheet

انواع المتغيرات في الاكسيل تجدها موضحة بالشكل المختصر التالي :

AmeerVeriableExel.GIF

قام بنشر

الاعلان عن المتغير:

الاعلان عن المتغير يعني ان نخبر البرنامج بأسماء وانواع المتغيرات التي نريد استخدامها ويكون الاعلان عن طريق جملة Dim

على سبيل المثال

 Dim age As Byte
يخبر الأمر السابق على اننا نريد استخدام متغير اسمه age وهو من النوع Byte مثال آخر
Dim a,b As Single
يخبر الامر السابق البرنامج اننا نريد استخدام متغيران وهما a,b وهما من النوع Single مثال آخر
Dim c
يخبر الامر السابق البرنامج بأن هناك متغير اسمه c نريد استخدامه .. لو لاحظت المثال ان نوع المتغير c لم يتم الاعلان عنه ولذلك سوف يقوم البرنامج بجعل النوع Viarant هو النوع الافتراضي اذا لم يتم الاعلان عن المتغير في صيغة الأمر ملاحظة ******** يحدد مكان الاعلان عن المتغير عن مداه , فإذا تم الاعلان عن المتغير في قسم الاعلانات العامة اي خارج نطاق الاجراء اذن يعد متغيراً عاماً ويمكن استخدامه داخل اي اجراء دون الاعلان عن المتغير مره اخرى , اما اذا قمنا بالاعلان عن المتغير داخل الاجراء نفسه فيصبح المتغير متغيراً محلياً على مستوى هذا الاجراء فقط ولا يمكن استخدامه داخل اي اجراء آخر الاّ بالاعلان عن المتغير مره اخرى . ملاحظة******** رغم ان الاعلان عن المتغير ليس اجبارياً اذ اننا من الممكن ان نستخدم المتغير مباشرةً دون الاعلان عنه غير ان ذلك يؤدي الى حدوث اخطاء اثناء تشغيل البرنامج ..... والحل لذلك هو اننا نخبر البرنامج بأن يظهر لنا رسالة خطأ عند استخدام متغير لم يتم الاعلان عنه وذلك بكتابة الامر Option Explicit في قسم الاعلانات العامة
 Option Explicit

قام بنشر

جملة التخصيص Let :

جملة Let هي المسؤولة عن وضع القيم داخل المتغيرات التي قد نكون اعلنا عنها والصيغة العامة لهذا الأمر هي

Let VariableName = Value
بالطبع يتم استبدال VariableName بإسم المتغير لدينا ويتم وضع قيمة المتغير بدلاً من Value وها هو مثال على ذلك
Sub calculate ()

Dim a, b As Byte

Let a = 5

Let b = a + 2

End Sub

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information