خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


آموزش برنامه نویسی اکسل : اختصاص دادن مقدار به متغیرها (Assigning Values to Variables)

آموزش برنامه نویسی اکسل : اختصاص دادن مقدار به متغیرها (Assigning Values to Variables)
نویسنده : امیر انصاری
بعد از بیانیه اعلان متغیر (variable declaration)، که بسته به کاری که انجام می دهید، می تواند خط کد بعدی و یا خط کد 100 از ماکروی شما باشد، شما می توانید بیانیه ای داشته باشید که مقداری را به آن متغیر اختصاص بدهد. در اینجا مثالی را می بینیم که عدد موجود در سلول A1 را به متغیری با نام myValue تخصیص می دهد:

آموزش سالیدورکز 20-2019



myValue = Range(“A1”).Value

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

چرا شما به متغیرها نیاز دارید؟


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

به عنوان یک مثال ساده، در اینجا ماکرویی با چهار دستور داریم که همۀ آنها مقدار موجود در سلول A1 را فراخوانی می کنند:

Sub WithoutVariable()
Range(“C3”).Value = Range(“A1”).Value
Range(“D5”).Value = Range(“A1”).Value / 12
Range(“E7”).Value = Range(“A1”).Value * 365
MsgBox “The original value is “ & Range(“A1”).Value
End Sub

برای اینکه VBA این ماکرو را اجرا کند، برای اینکه هربار بتواند اشاره به آدرس سلول A1 را انجام بدهد مجبور است تا یکسری گردش های پشت صحنه را اجرا نماید و این کار 4 بار بی دلیل تکرار خواهد شد. علاوه بر این، اگر طراحی workbook شما تغییر بکند، به عنوان مثال نرخ بهره که قبلاً در سلول A1 قرار داشت به سلول K5 منتقل یشود، شما مجبور خواهید بود تا تک تک اشاره ها به سلول A1 را در کد بیابید و آن را با سلول K5 جایگزین نمایید.

خوشبختانه یک راه بهتر برای مدیریت این نوع وضعیتها وجود دارند، و آن معرفی یک متغیر است که فقط یکبار مقدار سلول A1 را از روی آدرس آن می خوانیم و در متغیر ذخیره می کنیم، مشابه کد زیر:

Sub WithVariable()
Dim myValue As Integer
myValue = Range(“A1”).Value
Range(“C3”).Value = myValue
Range(“D5”).Value = myValue / 12
Range(“E7”).Value = myValue * 365
MsgBox “The original value is “ & myValue
End Sub

با اختصاص دادن عدد موجود در سلول A1 به متغیری با نام myValue، شما کارآیی و همینطور خوانایی کد خود را افزایش داده اید، و VBA میتواند آن عدد را در حافظه نگهداری نماید و بدون اینکه هر بار سلول A1 را برای بازیابی آن عدد مورد ارزیابی قرار بدهد، آن را به سادگی در اختیار داشته باشد. همچنین، اگر سلول نرخ بهره شما از A1 به سلول فرضی K5 تغییر کند، شما تنها نیاز دارید تا این تغییر را در دستور تخصیص دادن مقدار به متغیر تغییر بدهید و بقیه کدهای شما دست نخواهند خورد، مشابه زیر:

myValue = Range(“K5”).Value

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


آموزش قبلی : آموزش برنامه نویسی اکسل : متغیر (variable)

آموزش بعدی : آموزش برنامه نویسی اکسل : انواع داده متغیرها (Data Types)



دیدگاه ها(0)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.

لطفا پیش از ارسال دیدگاه ، به نکات زیر توجه فرمایید :

- از نوشتن دیدگاه های غیر مرتبط با پست جدا خودداری کنید. دیدگاه ها و سوالات متفرقۀ خود را می توانید در تالارهای گفتمان خوش آموز مطرح نمایید.
- لطفاً دیدگاه های خود را با حروف فارسی تایپ کنید، دیدگاه های فینگیلیش تایید نمی شوند.
- قبل از ارسال دیدگاه حتما متن پست و نظرات سایر دوستان را بخوانید . نظرات اسپم و تکراری تایید نخواهند شد.
- نظر شما ممکن است بدون پاسخ تایید شوند که در این صورت باید منتظر پاسخ از سوی دیگر کاربران باشید .
- لطفا انتقادات و پیشنهادات و همچنین درخواست های خود را از طریق ایمیل khoshamoz[at].hotmail.com ارسال نمایید
- چرا آموزش های سایت خوش آموز در قالب فایل pdf به صورت یکجا ارائه نمی شوند؟
- چرا برخی پرسش های کاربران پاسخ داده نمی شوند؟


دوره رایگان آموزش جامع برنامه نویسی اکسل (VBA) از مقدماتی تا پیشرفته

دوره رایگان آموزش جامع برنامه نویسی اکسل (VBA) از مقدماتی تا پیشرفته