المتغيرات
هى عبار عن أماكن تحجز في الذاكرة ليتم تخزين قيم معينة فيها وهى تنقسم إلى أنواع متعددة مثل المتغير الرقمي والمتغير النصى وغيرها.شروط كتابة المتغيرات
- dim +اسم المتغير+نوعه
- ان يكون بحروف الابجدية الانجليزية
- ألا يزيد اسم المتغير عن 255 حرف
- ألا يحتوى على فراغ أو رموز خاصة %$#@!
- ألا يكون اسم المتغير احد الكلمات المحجوزة مثل dim -integer-stirng فلا يجوز تسمية اسم المتغير بهذه الاسماء.
طرق تعريف المتغيرات
كتابة متغير واحد على سطر واحد
dim num1 as integer
كتابة اكثر من متغير من نفس النوع على سطر واحد
dim num1,num2,num3 as integer
كتابة أكثر من متغير من انواع مختلفة على سطر واحد
dim num1 as integer,fname as string,married as boolean
ومن أشهر انواع المتغيرات
1- Integer
وهو متغير رقمي يقوم بحفظ القيم الرقمية الصحيحة ولا يقبل هذا المتغير القيم العشرية وإنما تلقائيا يقوم بتحويلها إلى قيم صحيحة طبقا لخاصية التقريب فإذا كان الكسر العشري أكبر من أو يساوى 5 قام بتحويل إلى واحد صحيح وإذا كان الكسر العشري أقل من 5 يقوم بتجاهلهولكل متغير اسم واعلان
فنقو بالاعلان عن المتغيرات هنا باللفظ
Dim
ولكل متغير اسم
فمثلا للاعلان عن متغير رقمي نقوم بتسمية هذا المتغير وليكن الاسم X
Dim x as integer
والقيمة الافتراضية لهذا المتغير الرقمي تكون 0
وفى هذا المثال سنحاول التطبيق العملي لاستخدام هذه المتغيرات فى vba
نقوم بالضغط من التبويب create على Module لفتح
شاشة vba
نقوم بانشاء اجراء ونسمه اسم test1 وذلك
عن طريق الأمر sub
test1()
ويقوم الفيجوال بيسك تلقائيا باغلاق
الاجراء عن طريق الأمر end
sub
نقوم بتعريف متغير من النوع integer
وليكن اسمه x وذلك
عن طريق الأمر Dim
x as integer
ولطباعة المخرجات على الشاشة نستخدم الأمر debug.print x
ونلاحظ ان القيمة الافتراضية للمتغير X هو
صفر حيث أننا لم نعط أي قيمة له بعد
نقوم باعطاء قيمة للمتغير X
ولتكن هذه القيمة هي الرقم 10 ثم نقوم بطباعة الناتج على الشاشة فنلاحظ أن تم
اخراج قيمة المتغير X=10
ماذا لو قمنا بإعطاء المتغير X قيمة
نصية ودائما يتم وضع القيمة النصية بين علامتي اقتباس مزدوج " هكذا " نلاحظ ظهور رسالة خطأ مكتوب بها type
mismatch
وتعنى عدم تطابق نوع البيانات حيث أن نوع البيانات النصية لا يقبلها هذا المتغير
الرقمي
ماذا لو قمنا باعطاء هذا
المتغير الرقمي X قيمة
رقمية تحمل قيم عشرية مثل الرقم 5.6 من
المعروف ان النوع integer هو
متغير رقمي صحيح ..ولكننا قمنا بتمرير قيمة رقمية عشرية لهذا المتغير نلاحظ أنه
قام بعملية تقريب للرقم 5.6 وقام بطباعته على الشاشة 6
ماذا لو قمنا باعطاء هذا
المتغير الرقمي X قيمة
رقمية تحمل قيم عشرية اقل من 5 مثل الرقم 5.2 نلاحظ أنه قام بعملية تقريب للرقم 5.2 وقام
بطباعته على الشاشة 5
2- المتغير من نوع double
نقوم بتعريف نوع اخر من المتغيرات هو المتغير double وهو متغير رقمي يقبل القيم العشرية ونعطيه اسم وليكن y ونقوم بتمرير القيمة الرقمية العشرية له 10.8نلاحظ انه عند الطباعة يقوم بطباعة الرقم العشري y=10.8
ماذا لو أردنا اجراء عملية حسابية مثل x*x
وإخراج ناتج هذه العملية على الشاشة نقوم باجراء هذه العملية ونكتب debug.print x*x
نلاحظ انه تم اخراج الناتج على الشاشة وهو 25 حيث ان قيمة x هو
الرقم 25
ماذا لو كان قيمة x هي
5000 واردنا اجراء عملية حسابية وهى x*x نلاحظ ظهور رسالة خطأ overflow
وتعنى ان الناتج اكبر من سعة تخزين هذا الرقم حيث أن أعلى قيمة لنوع المتغير integer
هو رقم 32767يمكنك مراجعة جدول أنواع البيانات في أعلى الصفحة لمعرفة اكبر
رقم يمكن تخزينه في كل نوع من أنواع المتغيرات
3- المتغير من نوع Long
ولطباعة ناتج عملية ضرب x*x حيث أن قيمة x هي
5000 نقوم باستخدام نوع اخر من المتغيرات الرقمية سعة
تخزينه أكبر من سعة المتغير x وهو النوع long ونلاحظ أن هذا المتغير قام بإخراج ناتج
العملية كما هو موضح بالمثال
ليست هناك تعليقات:
إرسال تعليق