آشنایی با مفهوم متغیر در برنامه نویسی VBA

مفهوم متغیر و نحوه کار با آن در برنامه نویسی VBA

امروز ,و در این مطلب  آموزشی می خواهیم در خصوص مفهوم  متغیرها در برنامه نویسی VBA صحبت کنیم.

انتظار می رود که پس از مطالعه کامل این پست آموزشی شما به درک واضحی از مفهوم متغییر دست پیدا کنید.

و به راحتی بتوانید تشخیص بدهید که اکنون به چه متغیری نیاز دارید و چگونه می توانید آن را ایجاد نمایید.

پس با ما تا انتهای مطلب  همراه باشید.

 

معنا و مفهوم متغیر چیست؟

قبل از اینکه بخواهیم به طور تخصصی به معنا و مفهوم کلمه متغیر بپردازیم اجازه بدهید که دامنه بحث را کمی گسترده تر نماییم

ما وقتی که در محیط برنامه نویسی VBA کد نویسی می کنیم برای انجام برخی از محاسبات خود نیاز به دریافت مقادیری از سوی کاربر داریم این موارد می‌تواند مقادیری عددی و یا متنی باشد.

مقادیر ورودی به برنامه VBA  را می توانیم از یک نظر به دو دسته تقسیم نماییم.

 

۱ ثابت ها

ثابتها مقادیری  هستند که در طول اجرای یک  روال و یا تابع مقادیر ثابت دارند و به هیچ عنوان مقدار آنها تغییری پیدا نمی کند

۲ متغیرها

متغیرها دقیقاً در نقطه مقابل ثابت ها قرار دارد به گونه‌ای که در طول اجرای یک روال و یا تابع  مقادیر آنها می تواند مرتبا تغییر کند .

برای درک بهتر مفاهیم تابع زیر را در نظر بگیرید.

معنا و مفهوم متغیر چیست؟

 

 

 

 

 

 

 

 

 کاری که این تابع قرار است برای ما انجام دهد محاسبه مساحت یک دایره فرضی است.

بیایید با هم نگاهی به  عملکرد خطوط کد مربوط به این تابع بیندازیم.

اگر شما  خطوط کد مربوط به این تابع را در محیط اکسل به اجرا درآورید ملاحظه خواهید نمود که :

ابتدا کادری که از آن بعنوان Input box نام میبریم  برای کاربر به نمایش در می‌آید. 

این کادر طی پیغامی از کاربر می خواهد که عدد مورد نظر برای شعاع دایره را در کادر مربوطه درج  نماید.

بعد از انجام محاسبات درون تابع نتیجه نهایی که همان مساحت دایره است  بصورت یک پیغام به کاربر نمایش داده خواد شد .

ما در این مثال ساده از  هر دو نوع داده ها استفاده نمودیم .

همانگونه که مشاهده نمودید در ساختار فرمول فوق ما یک ثابت ریاضی داریم که در این فرمول و نه در هیچ فرمول دیگری نمی تواند مقداری غیر از این عدد داشته باشد . 

برای اینکه به برنامه بفهمانیم که این نوع داده ما از نوع ثابت است فقط کافی است از کلمه Const قبل از نام داده خود استفاده کنیم.

اما در خصوص کار با متغیرها .

 

مطلب مرتبط : قفل کردن سلول های حاوی فرمول در اکسل

مفهوم متغیر و تعریف متغیر  در برنامه نویسی VBA

کلمه متغیر یکی از کلماتی است که به وفور در برنامه نویسی VBA  با آن  سرو کار داریم .

بنابراین اجازه بدهید که کمی دقیق تر به  مفهوم این کلمه بپردازیم.

اگر بخواهیم کلمه متغیر را به ساده ترین شکل توصیف کنیم باید بگویم که :

متغیر اشاره به فضایی در حافظه کامپیوتر ما دارد که قرار است داده های مورد نظر ما را در خود ذخیره نماید دارد .

مفهوم متغیربه تصویر فوق نگاه کنید .

این تصویر بطور شماتیک یک حافظه کامپیوتری را به نمایش می گذارد .

همانگونه که می دانید حافظه کامپیوتر برای مدیریت بهتر اطلاعات دارای بخش های مختلف است .

تصور نمایید که کامپیوتر خود را روشن نموده و همزمان چند برنامه مختلف را با هم اجرا نموده اید .

بعنوان مثال فرض کنید که نرم افزار اکسل را باز نموده و مشغول انجام محاسباتی در آن هستید .

در عین حال مشغول وش دادن به موسیقی پخش شده از کامپیوتر خود هستید .

و در عین حال کامپیوتر شما  مشغول دانلود یک فایل از اینترنت نیز هست .

همانطور که مشاهده نمودید در آن واحد رایانه شما مشغول انجام سه کار مجزا می باشد . 

تمامی این کارها که در اینجا از آن نام بردیم همگی در حافظه کامپیوتر شما در حال اجرا هستند و هر کدام از این طریق بخشی ازحافظه رایانه شما را به اشغال خود در آورده اند . 

اکنون شما نیز به عنوان یک برنامه نویس وارد این بازی می شوید . 

می خواهید برنامه ای بنویسید که حاوی قطعات کدی است و قرار است کار خاصی را انجام دهند . 

برای اینکه کدهای نوشته شده توسط شما در قالب یک برنامه اجرا شود نیاز دارید که فضایی از حافظه کامپیوتر را گرفته و در اختیار برنامه خود قرار دهید.

به این کار یعنی گرفتن فضای مورد نیاز برنامه  از کامپیوتر جهت اجرای کدهای برنامه خود  فرآیندی است که از آن بعنوان ” تعریف متغیر “نام می بریم .

پس متغیر اشاره به  یک فضا یا مکانی در یک حافظه دارد که قرار است اطلاعات مورد نیاز برنامه ما را در خود ذخیره نماید .

و تعریف متغیر فرآیندی که با استفاده از آن می توانیم فضای مورد نیاز خود را در اختیار بگیریم .

در واقع با استفاده از تعریف متغیر و کدهایی که در ادامه به آنها اشاره خواهیم کرد از سیستم عامل رایانه خود می خواهیم که بخشی از حافظه رایانه را که مد نظر ما می باشد را در اختیار برنامه ما قرار دهد .

 

پس تا اینجا با مفهوم کلمه متغیر آشنا شدیم .

 

تعریف متغیر در برنامه نویسی

اکنون ببینیم که چگونه می توانیم یک متغیر را تعریف کنیم ؟

 

فرآیند تعریف متغیر در  VBA

تعریف متغیر فر آیندی است که با انجام آن ۳ نتیجه زیر برای ما حاصل می شود : 

 

  1. اول اینکه فضای مورد نیاز برای اجرای برنامه خود و یا ذخیره اطلاعات مد نظر خود  را نام گذاری  می کنیم . 
  2. دوم اینکه  تعیین می کنیم که به چه مقدار فضا  در حافظه کامپیوتر نیاز داریم و چگونه آن را از رایانه خود درخواست کنیم . 
  3. سوم اینکه تعیین می کنیم که چه بخش و یا بخش هایی از یک برنامه می تواند به این فضا و اطلاعات ذخیره شده درون آن دسترسی داشته باشد که از آن تحت عنوان ” حوزه دسترسی متغیر  ” یا ” حوزه دید متغیر  ” و یا “Variable Scope ”  و در ادامه به آن خواهیم پرداخت . 

مفهوم متغیر در برنامه نویسی

 بنابر این از اینجا بحث خود را با تمرکز بر رئی این سه آیتم پیش خواهیم برد . 

 

آشنایی با قواعد نام گذاری متغیر و تعریف متغیرها در VBA

فرآیند تعریف متغیر در زبان برنامه نویسی VBA از یک قاعده کلی پیروی می کند .

تصویر زیر بیانگر این قاعده می باشد : 

فرآیند تعریف متغیر در زبان برنامه نویسی VBA

در فرآیند تعریف هر متغیری باید از اصول نمایش داده شده در تصویر بالا تبعیت نماییم .

تعریف کلمات کلیدی در برنامه نویسی VBA .

با دقت در تصویر فوق متوجه می شویم که فرآیند تعریف متغیر با استفاده از ۴ کلمه ای آغاز می شود . 

این کلمات را در اصطلاح به نام کلمات کلیدی می شناسیم . 

بنابراین در گام نخست باید با معنا و مفهوم این کلمات کلیدی  آشنا شویم و اینکه بدانیم که از هر کدام از آنها در چه موقعیت هایی استفاده نماییم .

 

اجازه بدهید کار بررسی این کلمات کلیدی را از خود همین عنوان ” کلمات کلیدی ” شروع کنیم .

اینکه اصلا کلمات کلیدی یعنی چه ؟ و به چه کلماتی در زبان VBA کلمات کلیدی می گوییم ؟

منظور از کلمات کلیدی در زبان برنامه نویسی VBA چیست ؟ 

 در یک تعریف ساده می توان گفت  منظور از کلمات کلیدی در زبان برنامه نویسی vb کلماتی هستند که از قبل توسط خود برنامه ذخیره شده‌اند

 از آنجا که این کلمات کلیدی مورد استفاده خود زبان برنامه نویسی می باشند بنابراین به ما به عنوان کاربر و یا برنامه نویس به هیچ عنوان اجازه استفاده از این کلمات را برای نامگذاری متغیرها و یا اشیای موجود در برنامه خود را  به ما نمیدهد.

این امر نشات گرفته از این قانون است که زبان برنامه نویسی وی بی ای و سایر زبان های برنامه نویسی هیچ ترشحی نمی توانند نام یکسان داشته باشند.

وقتی که شما به عنوان برنامه نویس مشغول  درج کد های خود محیط ویرایشگر وی بی ای هستید اگر کلمه ای را وارد نمایید و این کلمه جز کلمات ذخیره شده زبان برنامه نویسی جدیدی باشد محیط ویرایشگر کد ها در حالت پیش فرض این کلمه کلیدی را به رنگ آبی در می آورد تا کاربر را متوجه این امر حمایت که این کلمه جزو کلمات ذخیره شده برای زبان برنامه نویسی می باشد.

 به جدول زیر توجه کنید . 

 

لیست کاملی از تمامی کلماتی را که توسط برنامه VBA ذخیره شده اند

 

این جدول لیست کاملی از تمامی کلماتی را که توسط برنامه ذخیره شده اند را برای شما نمایش می دهد . 

بنابراین شما به هیچ عنوان مجاز به استفاده از کلمات برای نام گذاری اشیا و یا متغیرهای خود نیستید . 

با دقت در جدول بالا می توانید ۴ کلمه dim , static , private , public  را در بین کلمات کلیدی مشاهده نمایید . 

از انجا که کار تعریف متغیر با استفاده از این کلمات صورت می پذیرد با هم به بررسی این کلمات می پردازیم . 

 

  1. کلمه کلیدی Dim

کلمه Dim  مخفف کلمه Dimension  داشته و به معنای اندازه و ابعاد دارد .

این کلمه عمومی ترین کلمه ای است که شما در اغلب اوقات می توانید از آن برای تعریف متغیرهای خود استفاده نمایید .

بنابراین کاربرد این کلمه به نسبت ۳ کلمه دیگر در فرآیند تعریف متغیرها بیشتر است . 

 

۲ .

 وقتی که ما از کلمه کلیدی Dim  برای تعریف متغیر خود بهره می بریم بخشی از فضای رایانه در اختیار ما قرار می گیرد .

و ما می توانیم مقداری را در آن ذخیره نماییم .

خاصیتی که این کار دارد این است که اگر ما یک داده ای را در متغیر خود داشته باشیم و بخواهیم مقدار جدیدی را در آن ذخیره کنیم با ورود مقدار جدید مقدار قبلی ما پاک می شود .

 

 کلمه کلیدی Static 

اما گاهی از اوقات نیاز پیدا می کنیم که وقتی که مقداری را در یک متغیر ذخیره می کنیم با ورود داده جدید مقدار قبلی ما پاک نشود

برای این منظور به جای کلمه Dim  از کلمه  static  استفاده می نماییم .

کلمات private  و public  بیشتر در خصوص حوزه دید یک متغیر عمل می نمایند که در بخش مربوطه به آنها خواهیم پرداخت .

پس تا به اینجا با اولین گام در تعریف متغیر که همان کلمات کلیدی بود آشنا شدیم . 

اکنون باید به سراغ دومین آیتم مربوطه برویم و آن هم اینکه یک نام مناسب برای متغیر خود انتخاب کنیم .

مطلب مرتبط :مرجع کامل خطایابی کدهای VBA در اکسل 

 

قواعد نام گذاری متغیرها در VBA

برای نامگذاری متغیرها باید از یک سری از اصول و قواعد پیروی نمایید

رعایت بعضی از این اصول و قواعد کاملاً الزامی بوده و برعکس بعضی از اصول و قواعد نیز وجود دارد که رعایت آن ها الزامی نمی باشد

در اینجا به هر دوی این اصول و قواعد اشاره می نماییم

۱  اصولی که رعایت آنها الزامی است

  • به عنوان اولین اصل در نامگذاری متغیرها باید این امر را در نظر داشته باشید که شما به هیچ عنوان مجاز به استفاده از کلماتی که قبلاً توسط برنامه رزرو شده اند  و از آنها تحت عنوان کلمات کلیدی یاد کردیم در نامگذاری متغیرهای خود نیستید در غیر این صورت از سوی برنامه با خطا مواجه خواهید شد 
  • در  فرایند نامگذاری متغیرها شما به هیچ عنوان مجاز به استفاده از کاراکترهای متنی  نیستید در  زیر می‌توانید لیستی از این کاراکترها را مشاهده نمایید .

!@#$%^&*)(+

  • نامی که برای متغیرهای خود انتخاب می کنید به هیچ عنوان نمی تواند در سطح یک  ماژول تکراری باشد. 
  • نام مورد نظر شما حتما باید با یکی از  حروف الفبا شروع شود . در ادامه می توانید از اعداد نیز در نام گذاری خود بهره ببرید . 

 

جدول زیر نمونه ای از نامگذاری های درست و نادرست را لیست نموده است .

قواعد نام گذاری متغیرها در VBA

۲٫ اصولی که رعایت آنها الزامی نیست

در نام گذاری متغیرها برخی از اصول وجود دارند که هر چند که رعایت آنها از سوی ما الزامی نیست اما در نظر گرفتن این اصول می تواند در بسیاری از امور راهگشای ما باشد.

در زیر به تعدادی از این موارد اشاره می نماییم .

  • تا حد امکان نامی را برای متغیر برگزینید که دارای معنا و مفهوم مشخص باشد 

بعنوان مثال انتخاب نام ” z2xd” گرچه با هیچ خطایی از سوی برنامه رو برو نمی شود اما در مقابل نامی همچون “int_length”  فاقد مفهوم خاصی است چون با نگاه کردن به عنوان متغیر      “int_length”   می توان دریافت که قرار است متغیر    “int_length”    عددی مربوط به طول یک شکل را در خود ذخیره نماید . 

  • برای بهتر رساندن  مفهوم یک متغیر می توانید از پیشوند مربوط به نوع آن متغیر که در ادامه با آنها آشنا خواهیم شد استفاده نمایید . بعنوان مثال متغیری به نام  “str_fname ” اشاره به متغیری از نوع String  دارد . 

کلمه کلیدی AS

این کلمه را نیز می توانید در جدول بعنوان یک کلمه کلیدی پیدا نمایید . بعد از اینکه نامی برای متغیر خود انتخاب نمودیم باید نوع آن را نیز به برنامه اعلام کنیم . برای این کار از کلمه کلیدی AS استفاده می کنیم .

تعیین نوع متغیر ها

آخرین گام در تعریف متغیر بعد از نام گذاری آن این است که تعیین نماییم که این متغیر مورد نظر ما از چه نوعی است .

زبان VBA از انواع مختلف داده پشتیبانی می نماید .

در زیر می توانید لیست کاملی از انواع داده هایی که توسط VBA پشتیبانی می شود را مشاهده نمایید . 

 برای سهولت در امر بررسی  داده ها ما انواع داده های مورد پشتیبانی توسط VBA را به دو دسته زیر تقسیم می نماییم

۱ داده های نوع عددی 

جدول زیر انواع مختلف از داده هایی را که در این گروه قرار میگیرد به همراه مشخصات آنها را لیست می نماید .

 

داده های نوع عددی در vba

۲٫ انواع داده های غیر عددی 

داده های متنی در VBA

برای انتخاب داده به دو ملاک باید توجه نمود :

اول اینکه چه نوع داد ه ای مورد نیاز ما می باشد. 

دوم اینکه کمترین میزان حافظه را از رایانه اشغال نماید .

برای توضیح بهتر دو فاکتور  فوق به این مثال توجه نمایید .

می خواهیم سن مربوط به افراد را دریافت نموده و در حافظه رایانه ذخیره نماییم .

برای این منظور ابتدا یک متغیر با نام Age بصورت زیر تعریف می نماییم .

مفهوم متغیر

اکنون برای تعیین نوع داده خود دو گزینه پیش رو داریم که انتخاب هر دو  تامین کننده نظر ما خواهد بود . 

اما از یک سو  با توجه به اینکه داده نوع Byte  حداکثر می تواند تا عدد ۲۵۵ را در خود ذخیره نماید و سن یک فرد نمی تواند از این رقم بالاتر رود .

و از سویی دیگر این نوع داده فضای کمتری از رایانه را اشغال می نماید بنابراین معقول این است که داده نوع Byte  را برای این امر انتخاب نماییم .

در آینده ادامه این مبحث را در پست دیگری ادامه خواهیم داد .

 

آموزش اکسس,آموزش اکسل بازدید : 406 views ۱۸ اسفند, ۱۳۹۷ ۰