مرجع کامل آشنایی با انوع داده ها در برنامه نویسی VBA

 هیچ می دونستید که ما  با انوع داده ها در برنامه نویسی VBA سر و کار داریم. اگر بخواهیم بطور دقیق بگویم با ۱۵ نوع داده مختلف

. ۱۵ نوع داده عدد کمی نیست مگر نه ؟ 

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

و  یا اصلا  از موارد زیر چیزی میدونید :

–  اینکه خود اصطلاح” نوع داده ” یا همون Data Type  یعنی چه ؟

– اینکه انواع داده های مورد استفاده در زبان برنامه نویسی VBA  کدومها هستند ؟

– اینکه آیا لازم هستش که حتما  از همه  این نوع داده ها در کد نویسی های خودمون استفاده کنیم یا نه ؟

– اینکه چه جوری میشه و چه موقع باید  انواع داده ها را فراخوانی کنیم و تنظیمات مربوط به اونها چی هست ؟

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

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

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

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

قسمت خوب ماجرا اینه که :

–  کار کردن با انواع داده ها و یاد گرفتن اونها اصلا کار سختی نیست .

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

– اینکه  برای تعریف و یا بهتره بگم تعیین نوع داده ها در برنامه نویسی VBA  اصلا کار سختی در پیش ندارید .

–  و اینکه من علیرضا شهرآئینی در این مطلب می خوام تمام آن چیزی را که برای کار کردن با داده ها  و انواع آنها  رو احتیاج دارید همه رو در قالب این مطلب و از صفر تا ۱۰۰  به شما آموزش بدم. 

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

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

پس اگر آماده اید با من  همراه شوید ..

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

قبل از هر چیز باید ببینیم که وقتی ما از اصطلاحی به اسم Data Type  استفاده می کنیم منظورمان چیست؟

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

پس اول به سراغ آشنایی با مفهومی به اسم نوع داده یا در اصطلاح همان Data Type  می رویم .

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

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

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

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

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

 

در لینک بالا همه چیز را در مورد این مفهوم توضیح داده ام .

حالا با دو فرض آموزشمان را ادامه می دهیم .

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

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

اما شمایی که با این کلمه متغیر یا Variable  هیچ آشنایی ندارید شدیدا به شما توصیه می کنم که از خواندن ادامه این آموزش صرفنظر کنید و اول مطلب مربوط به لینک بالا را مطالعه کرده و بعد از همین نقطه به مطالعه ادامه این آموزش بپردازید . 

به هر حال از ما گفتن بود .

فلسفه وجود Data Type  در برنامه نویسی وی بی ای

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

بیایید یک مثال واقعی را با هم بررسی کنیم تا بهتر این موضوع را درک کنیم .

به تصویر زیر نگاه کنید .

انوع داده ها در برنامه نویسی VBAاین تصویر یک لیوان است . چیزی که هر روز با آن سر و کار داریم و از آن استفاده می کنیم . اما چه استفاده ای از این لیوان می توانیم بکنیم ؟

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

این یک ظرف است که می تواند هر نوع  مایعی را در خود نگه دارد .

اما فرض کنید بخواهیم در این ظرف چیزهای دیگری به غیر از مایع را نگهداری کنیم .

 مثلا به تصویر زیر نگاه کنید .

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

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

حالا همین مثال را در ذهن خود نگه دارید .

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

معرفی انواع Data Type  در برنامه نویسی VBA 

حالا می خواهیم ببینیم که چند نوع داده در برنامه نویسی داریم .

باز هم برگردیم به دنیای واقعی خودمان .

ما در دنیای اطرافمان تمامی مواد را به سه دسته تقسیم بندی می کنیم. جامدات – مایعات و گازها . 

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

یا میز و صندلی و در و دیوار و کمد و …. همه در زیر مجموعه جامدات قرار دارند .

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

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

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

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

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

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

از این به بعد می رویم به سراغ خود این مباحث و آنها را در دنیای برنامه نویسی مورد بررسی قرار می دهیم .

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

گفتیم  که در یک دسته بندی کلی داده ها را در برنامه نویسی وی بی ای به دو دسته داده های عددی  یا  Numerical  و داده های نوع متنی یا Text  تقسیم بندی می کنیم .

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

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

 به تصویر زیر نگاه کنید .

 

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

در اینجا تمامی انواع داده هایی را که در زیر مجموعه داده های عددی قرار می گیرند را برای شما نمایش داده ام. 

اما چه چیزی باعث ایجاد تفاوت در بین انواع داده های نوع عددی می شوند ؟ مگر نه اینکه همه آنها به نوعی جزو اعداد هستند پس این تفاوت ناشی از چه چیزی می تواند باشد؟

آنچه که باعث ایجاد تفاوت در بین انواع داده ها در نوع عددی می شوند در دو چیز است: 

–   اول در بازه اعدادی است که هر کدام از این داده ها با آنها کار می کنند .

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

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

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

داده نوع اول : Byte

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

داده های نوع بایت فقط شامل اعدادی می شوند که بین  صفر تا ۲۵۵ باشند و نه یک بیشتر و نه یکی بیشتر فقط و فقط بین ۰ تا ۲۵۵ .

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

داده نوع دوم: Integer .

اگر اعدادی که می خواهید آنها را ذخیره کنید از صفر کمتر و یا  از ۲۵۵ بیشتر هستند باید به سراغ داده نوع Integer بروید

integer  به معنای عدد صحیح است . دامنه این نوع از داده های عددی در برنامه نویسی VBA  اعداد بین ۳۲,۷۶۸- تا ۳۲,۷۶۷ را شامل می شود. مقدار حافظه مورد نیاز برای این نوع داده ۲ کیلوبایت است . 

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

داده نوع سوم: Long.

 اگر با اعدادی سر و کار دارید که در بازه اعداد Byte  و  integer  نمی گنجد باید به سراغ داده نوع Long  بروید .

این نوع از داده ها اعداد بین  ۲,۱۴۷,۴۸۳,۶۴۸-   تا    ۲,۱۴۷,۴۸۳,۶۴۷ را پوشش می دهد .حافظه مورد نیاز برای ذخیره این نوع از داده ها معادل  ۴ بایت است . 

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

یعنی با استفاده از این نوع داده ها قادر به ذخیره اعداد اعشاری نخواهیم بود . بعنوان مثال اگر بخواهیم عدد ۲۵/۱۲ را در داده نوع بایت ذخیره کنیم  هر چند که با پیغام خطا از سوی برنامه مواجه  نمی شویم اما برنامه بطور خودکار این عدد را به نزدیکترین عدد قبل و یا بعد از خود گرد می کند  .

اما برای ذخیره اعداد اعشاری چه باید بکنیم ؟

برای این کار باید به سراغ Data type  های زیر برویم .

داده نوع چهارم : Single.

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

دامنه اعدادی که این نوع داده می گیرد  بین  از عدد ۳٫۴۰۲۸۲۳E38 –  برای  تا ۱٫۴۰۱۲۹۸E-45 – برای اعداد منفی  و 

از عدد ۱٫۴۰۱۲۹۸E-45 تا ۳٫۴۰۲۸۲۳E38 برای اعداد مثبت می باشد. 

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

میزان فضای لازم برای ذخیره این نوع از داده ها برابر با  ۴ بایت است .

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

داده نوع پنجم: Double .

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

دامنه اعداد تعریف شده برای این نوع از داده برای اعداد منفی  از  عدد ۱٫۷۹۷۶۹۳۱۳۴۸۶۲۳۱E308 -تا ۴٫۹۴۰۶۵۶۴۵۸۴۱۲۴۷E-324 –  و برای اعداد مثبت  ۴٫۹۴۰۶۵۶۴۵۸۴۱۲۴۷E-324 تا ۱٫۷۹۷۶۹۳۱۳۴۸۶۲۳۲E308 می باشد .

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

داده نوع ششم: Currency

 این نوع از داده ها اعداد اعشاری را  تا ۴ رقم بعد از اعشار و همچنین تا ۱۵ رقم قبل از اعشار نمایش می دهد . بازه اعداد مورد این نوع داده از  ۹۲۲,۳۳۷,۲۰۳,۶۸۵,۴۷۷٫۵۸۰۸- و بزرگترین عدد ۹۲۲,۳۳۷,۲۰۳,۶۸۵,۴۷۷٫۵۸۰۷ می باشد . 

مقدار حافظه مورد نیاز برای این نوع داده هم برابر با ۸ بایت است . 

داده نوع هفتم: Currency

این نوع از داده ها نوع خاصی از انواع داده هستند که وجود مستقلی نمی توانند داشته باشندو بزرگترین مقدار آن +/-۷٫۹۲۲۸۱۶۲۵۱۴۲۶۴۳۳۷۵۹۳۵۴۳۹۵۰۳۳۵ و کوچکترین مقدار غیر صفر مورد قبول برای  آن             +/-۰٫۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۱ است .

مقدار حافظه مورد نیاز برای این نوع داده هم معادل ۸ بایت است .

این ها ۷ مورد از انواع داده هایی بودند که در گروه داده های عددی واقع می شوند .

 در مرحله بعد باید به سراغ نوع دیگری از انوع داده ها در برنامه نویسی VBA  برویم .

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

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

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

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

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

حالا با هم به بررسی یک به یک این نوع داده ها می پردازیم .

داده نوع String

 داده نوع String  هر نوع متنی را در خود نگه داری می کند . حالا این متن می خواهد یک حرف باشد یا یک متن طولانی . در مورد این نوع داده باید بدانیم که علاوه بر متن ها این نوع از داده می تواند اعداد را هم شامل شود یا علاوه بر اعداد می توان کاراکترها و علائم خاص را نیز توسط این نوع داده ذخیره نمود .

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

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

برای تعیین طول یک متغیر از نوع داده String  از ساختار زیر استفاده می کنیم .

 اینجا من یک متغیر تعریف کرده ام به اسم strname  . این متغیر قرار است اسم یک فرد را بگیرد و در خود ذخیره کند . پس نوع داده آن را از نوع string  در نظر گرفته ام . اما در عین حال مشخص کرده ام که کاربر بیشتر از ۱۰ کاراکتر را نتواند وارد کند .

این نوع  داده ،  string  با طول ثابت بود . اما در مقابل یک نوع String  داریم که برای آن محدودیتی در نظر نمی گیریم . این نوع داده را تحت عنوان string  از نوع متغیر  نام گذاری می کنند . 

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

 

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

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

برنامه نویسی VBA بازدید : 371 views 26 سپتامبر, 2020 ۰