متغیرها
وقتی در VBA کار می کنید ، داده ها معمولا در یکی از دو عنصر زیر ذخیره می شوند:
VBA فضایی از حافظه را به متغیر اختصاص می دهد و محل ذخیره سازی برای داده تا زمانی که تعریف شده است ، رزرو می شود.
هنگامی که یک متغیر ایجاد می کنید ، می توانید با استفاده از نام (یا دستکاری) متغیر تعریف شده , داده های ذخیره شده را مشاهده کنید.
با اعلان متغیر:
می توانید نام متغیر و نوع داده ذخیره شده را مشخص کنید.
نحوه تعریف و اعلان متغیر
متغیرها را به دو روش می توان ایجاد کرد:
در عمل , تعریف صریح متغیر توصیه می شود.
نوع داده متغیر
نوع داده متغیر به نحوه ذخیره داده اشاره دارد.
هنگامی که در کد خود نوع داده را برای متغیر مشخص می کنید ، به VBA می گویید که چگونه این متغیر را ذخیره و چقدر فضا برای آن اختصاص دهد. به عنوان مثال ، اگر نیاز به استفاده از یک متغیر برای نگه داشتن شماره ماه دارید ، می توان از نوع داده BYTE که می تواند مقادیر0 تا 255 را در نظر بگیرد , استفاده کنید. از آنجایی که تعداد ماهها بیشتر از 12 نبوده و همیشه بصورت عدد صحیح می باشد ، این انتخاب درست بوده و فضای کمتری از حافظه را نیز استفاده می کند.
برعکس ، اگر نیاز به یک متغیر برای ذخیره تعداد سطرهای اکسل دارید ، باید از یک نوع داده استفاده کنید که می تواند عددی را تا 1048756 جای دهد. بنابراین بهتر است از نوع Long data استفاده کنید.
Variant نوع داده پیش فرض است. به عبارت دیگر ، اگر به صراحت نوع داده یک متغیر را اعلام نکنید، به صورت پیش فرض نوع داده آن Variant تعیین می شود.
متغیرهای Variant تقریبا هر نوع داده را می توانند نگه دارند.
در جداول زیر انواع دادههای موجود که می توانید در VBA استفاده کنید نشان داده شده است.
اعلان صریح یک متغیر (و نوع داده آن)
متغیر (و نوع داده آن) را با دستوری قبل از محل استفاده آن اعلام می کنید ,که در این دستور :
بنابراين، ساختار اصلی دستور تعریف متغير ، به شرح زير است:
نوع داده As نام متغیر کلمه کلیدی
در این ساختار ، موارد زیر را در نظر بگیرید:
کلمات کلیدی اعلام متغیر Dim ، Private ، Public و Static است. هر کدام از این کلمات کلیدی تاثیر متفاوتی بر متغیر دارند. رایج ترین کلمه کلیدی استفاده شده Dim است.
مقرراتی که برای نام متغیر اعمال می شوند ، به لحاظ مؤلفه مشابه با آنهایی است که به نام فرآیند ها اعمال می شوند. درباره قوانین نامگذاری فرآیند در جلسه اول یاد گرفتید.
اعلان صریح نوع داده متغیر اختیاری است. به عبارت دیگر، می توانید نوع داده را حذف کنید.
دامنه متغیر
متغیرها می توانند 3 دامنه مختلف داشته باشند:
علاوه بر این ، هنگام کار با متغیرهای سطح فرآیند، می توانید با متغیرهای استاتیک نیز کار کنید. متغیرهای استاتیک عمر طولانی تر از متغیرهای معمول در سطح فرآیند دارند و زمانی که اجرای فرایند پایان می یابد تنظیم مجدد نمی شود.
متغیرهای سطح فرآیند (یا محلی)
این محدود ترین دامنه متغیر است.
همانطور که از نام آن مشخص می شود، متغیرهای سطح فرایند (که به عنوان متغیرهای محلی نیز شناخته می شود) تنها می توانند درون فرآیندی که در آن تعریف می شوند استفاده شوند. این امر در مورد هر دو فرآیند Sub و Function صادق است.
به عبارت دیگر، وقتی اجرای یک فرآیند به پایان می رسد، هر متغیر محلی نیز متوقف می شود و اکسل حافظه ای را که متغیر استفاده می کرد آزاد می کند.
متغیرهای سطح ماژول (یا خصوصی)
ایده های پشت مفهوم متغیرهای سطح ماژول به میزان مشخصی شبیه آنچه که در رابطه با متغیرهای سطح فرآیند دیده اید است.
متغیرهای سطح ماژول برای استفاده در هر فرآیند درون ماژول که در آن متغیر VBA اعلام شده است ، در دسترس هستند. بنابراین ، متغیرهای سطح ماژول ، پس از اجرا شدن یک فرآیند نیز ، مقدار خود را نگه می دارند. با این حال ، در فرآیندهای دیگر همان پروژه VBA در دسترس نیستند.
به عنوان یک نتیجه از موارد فوق ، اکسل مقادیر اختصاص داده شده به متغیرهای سطح ماژول را برای استفاده یا دسترسی درون ماژول مربوطه ذخیره می کند. بنابراین ، متغیرهای سطح ماژول ارزش های خود را بین فرآیندها حفظ می کنند ، تا زمانی که این فرآیندها در همان ماژول قرار داشته باشند. متغیرهای سطح ماژول به شما اجازه می دهند ارزش یک متغیر را از یک فرآیند به دیگری منتقل کنید.
متغیرهای VBA سطح ماژول Public (یا عمومی)
میزان دسترسی به متغیرهای عمومی VBA بیشتر از متغیرهای سطح ماژول است:
متغیرهایی که با دستور Public اعلام شده اند برای همه فرآیندهای تمام ماژول ها قابل دسترسی است , مگر اینکه ماژول خصوصی در حال اجرا باشد. اگر ماژول خصوصی فعال باشد ، متغیرها فقط درون پروژه ای که در آن تعریف شده اند در دسترس هستند.
دامنه پیش فرض و طول عمر یک متغیر
محدوده پیش فرض یک متغیر فرآیندی است که در آن اعلام شده است.
طول عمر پیش فرض یک متغیر برابر با زمانی است که فرآیندی که در آن تعریف شده است در حال اجرا است. به عبارت دیگر ، به طور پیش فرض ، یک متغیر تا زمانی که فرآیند مربوطه در حال اجرا است ، زنده است.
در جلسه بعدی ، یاد می گیرید که چگونه با متغیر بسیار قدرتمند Object کار کنید.
*جهت دریافت کتاب های آموزش ماکرونویسی با اکسل روی تصویر کلیک کنید*
برچسب های مهم
اگر به یک وب سایت یا فروشگاه رایگان با فضای نامحدود و امکانات فراوان نیاز دارید بی درنگ دکمه زیر را کلیک نمایید.
ایجاد وب سایت یا