تبلیغات
آموزش برنامه نویسی و حسابداری در اکسل - استفاده از متغیرها و ایجاد یک ماکرو
استفاده از متغیرها و ایجاد یک ماکرو
نوشته شده توسط محسن در ساعت 06:00 ب.ظ

معمولا برنامه ها به هنگام اجرا نیازمند ذخیره سازی مقادیر موقت برای برای استفاده در محاسبات بعدی هستند.

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

برای این کار می توانید از سلول ها داخل worksheet   استفاده نمایید . ولی یک روش کاربردی نخواهد بود.

در مقابل VBA  این امکان را می دهد که این مقادیر موقت را در مکان های مخصوصی در حافظه ذخیره نمایید که اصطلاحا به آن ها متغیر ها گفته می شود.

 

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

 

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

برای معرفی متغیر باید از عبارت DIM   در ابتدای هر زیر رویه یا تابع استفاده کنید .

DIM VARIABLENAME

برای نام گذاری یک متغیر باید به نکات زیر توجه شود :

1-      نام متغیر باید با یکی از حروف الفبا شروع شود.

2-      نام نتغیر نباید بیش از 255 کاراکتر باشد.

3-      نام متغیر نباید از کلمات کلیدی VBA مانند DIM  یا SUB  یا END  باشد.

4-      نام متغیر نباید دارای فضای خالی یا هر یک از کاراکتر های زیر باشد.

@ & % $ # !

 

 

قلمرو وطول عمر متغیرها

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

در بعضی موارد نیاز است که متغیرها توسط چندین رویه مورد استفاده قرار گیرند.در این صورت می توان متغیر را به صورت محلی در سطح ماژول و یا در سطح جهانی تعریف کرد.

 

متغیرها در سطح ماژول

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

DIM TEMPVAL

متغیرهای جهانی   یا GLOBAL

این  متغیرها در قمست DECLARATION  ماژول توسط عبارت GLOBAL تعریف می شوند و برای تمام کدهای موجود در برنامه قابل دسترسی هستند.

GLOBAL TEMPVAL

 

مثال : قصد داریم یک متغیر را ایجاد کرده مقدار عددی 100 را برای این متغیر در نظر بگیریم و با اجرای این ماژول عدد مربوطه را وارد سلول A1 نماییم.

1-      برنامه اکسل را اجرا نمایید و از کلیدهای ترکیبی ALT+F11 برای وارد شدن به محیط VBA  استفاده نمایید.

2-      در منوی INSERT  گزینه MODULE  را انتخاب نمایید.

3-      دستورات زیر را در ماژول خود وارد نمایید.

Sub first()

Dim s

s = 100

Range("a1")= s

End Sub

 

4-      ماژول را اجرا نمایید . بعد از اجرای این ماژول عدد 100 وارد سلول A1 خواهد شد.

 

 

توضیحات :

در ابتدا برای ماژول خود یک نام انتخاب کنید که در این مثال من نام FIRST  را برای این ماژول در نظر گرفتم.

با استفاده از عبارت DIM  یک متغیر با نام S  ایجاد می کنیم.

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

 

 به متغیر ایجاد شده یک مقدار عددی 100 را نسبت خواهیم داد.

 

  برای اشاره به یک سلول باید از عبارت RANGE  استفاده کنید که بعدا به طور کامل توضیح خواهم داد.

فقط توجه کنید که نام سلول باید حتما در علامت “ “  قرار داده شود.

 

 

نحوه اجرای یک ماژول :

 

 از تب DEVELOPER  گزینه MACROS  را انتخاب نمایید در پنجره باز شده نام ماژول خود را انتخاب و برروی دکمه  RUN  کلیک نمایید.

مثال : قصدداریم یک ماژول را با نام PROFIT  ایجاد نماییم . که دارای دو متغیر با نام های INCOME  و EXPENSES  باشد که هر دو شامل یک مقدار عددی باشند . می خواهیم این مقادیر از یکدیگر کسر شوند و باقی مانده در سلول A1 نمایش داده شود.

 

Sub PROFIT()

Dim INCOME

Dim EXPENSES

INCOME = 2750000

EXPENSES = 1125000

Range("a1") = INCOME - EXPENSES

End Sub

 

مثال : باتوجه به مثال قبلی فرض کنید قصد دارید عدد بدست آمده که در سلول a1  محاسبه شده است را به صورت شکل بندی عددی نشان دهید ( اعداد سه رقم . سه رقم  از هم جدا شده باشند)

 

Sub PROFIT()

Dim INCOME

Dim EXPENSES

INCOME = 2750000

EXPENSES = 1125000

Range("a1") = Format(INCOME - EXPENSES, "#,##")

End Sub

 

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

شما می توانید ویدیو این آموزش را از لینک زیر دانلود کنید.

Download




»
 
 

قالب وبلاگ

هاست لینوكس

مرجع راهنمای وبلاگ نویسان

سفارش طراحی اختصاصی قالب وب سایت و قالب وبلاگ

طراحی وب

شارژ ایرانسل

فال حافظ