مرجع کامل آشنایی با انوع داده ها در برنامه نویسی VBA
سلام به سافت پلاس و یکی دیگر از سری مطالب آموزش برنامه نویسی VBA در اکسل خوش آمدید . امروز می خواهیم به سراغ موضوعی تحت عنوان دیتا تایپ ها در برنامه نویسی VBA برویم .
هیچ می دونستید که ما با انوع داده ها در برنامه نویسی VBA سر و کار داریم. اگر بخواهیم بطور دقیق بگویم با ۱۵ نوع داده مختلف
۱۵ نوع داده عدد کمی نیست مگر نه ؟
هیچ می دونستید که اگر می خواهید به یک برنامه نویس موفق تبدیل بشید حالا نه در زبان برنامه نویسی VBA که در هر زبان برنامه نویسی دیگری ، یکی از چیزهایی که باید حتما با اونها آشنا بشید انواع داده هایی هستند که آن زبان برنامه نویسی با آنها کار می کند .
و یا اصلا از موارد زیر چیزی میدونید :
– اینکه خود اصطلاح” نوع داده ” یا همون Data Type یعنی چه ؟
– اینکه انواع داده های مورد استفاده در زبان برنامه نویسی VBA کدومها هستند ؟
– اینکه آیا لازم هستش که حتما از همه این نوع داده ها در کد نویسی های خودمون استفاده کنیم یا نه ؟
– اینکه چه جوری میشه و چه موقع باید انواع داده ها را فراخوانی کنیم و تنظیمات مربوط به اونها چی هست ؟
نا آشنایی و ندانستن موارد بالا یک کم ترسناکه و حتی شاید یک دلهره ای رو در شما به وجود بیاورد.
اما آیا می خواهید یک کم از قسمت خوب ماجرا هم برای شما تعریف کنم ؟
قسمت خوب ماجرا اینه که :
– کار کردن با انواع داده ها و یاد گرفتن اونها اصلا کار سختی نیست .
– اینکه نگاه به عدد ۱۵ و بزرگی اون نکنید چون قرار نیست همیشه از همه این ۱۵ تا در کدهای خودتون استفاده کنید .
– اینکه برای تعریف و یا بهتره بگم تعیین نوع داده ها در برنامه نویسی VBA اصلا کار سختی در پیش ندارید .
– و اینکه من علیرضا شهرآئینی در این مطلب می خوام تمام آن چیزی را که برای کار کردن با داده ها و انواع آنها رو احتیاج دارید همه رو در قالب این مطلب و از صفر تا ۱۰۰ به شما آموزش بدم.
شاید این یکی از طولانی ترین مطالبی باشه که در سایت منتشر می کنم و این هم به نفع شماست و هم به نفع من .
به نفع من هستش چون می تونم خیلی خوب و از سیر تا پیاز همه چیز رو براتون بگم و به نفع شماست چون خیلی خوب می تونید از سیر تا پیاز کار با داده ها رو در برنامه نویسی VBA یاد بگیرید .
پس اگر آماده اید با من همراه شوید .
فهرست محتوا
منظور از انوع داده ها در برنامه نویسی VBA چیست ؟
قبل از هر چیز باید ببینیم که وقتی ما از اصطلاحی به اسم Data Type استفاده می کنیم منظورمان چیست؟
یعنی باید به خوبی خود این مفهوم را درک کنیم ، بعد به سراغ تعریف انواع آن و کار کردن با آنها برویم .
پس اول به سراغ آشنایی با مفهومی به اسم نوع داده یا در اصطلاح همان Data Type می رویم .
در برنامه نویسی و کدهای وی بی ای همه چیز از تعریف متغیر شروع می شود. یعنی اولین کاری که ما در شروع کد نویسی خود در داخل یک روال می کنیم تعریف متغیر است .
با کلمه یا بهتر است بگویم مفهومی به اسم متغیر یا Variable که آشنایی دارید . یک متغیر یا Variable اشاره به مکانی در حافظه کامپیوتر من و شما می کند که قرار است توسط برنامه ما مورد استفاده قرار بگیرد .
این یک تعریف خیلی خلاصه و جمع و جور از مفهومی بود به اسم متغیر یا Variable. این تعریف برای کسانی خوب است که با این مفهوم آشنا هستند و صرفا جنبه یادآوری دارد .
اما اگر هیچ آشنایی با این مفهوم یعنی مفهوم متغیر ندارید یا به دنبال یک تعریف جامع تر و کامل تر از این مفهوم می گردید به شما توصیه می کنم که حتما به لینک زیر بروید .
مطلب مرتبط : بررسی مفهوم متغیر در زبان برنامه نویسی VBA
در لینک بالا همه چیز را در مورد این مفهوم توضیح داده ام .
حالا با دو فرض آموزشمان را ادامه می دهیم .
فرض اول این است که شما از قبل با مفهوم متغیر آشنا بودید و خوب مشکلی برای ادامه این آموزش ندارید .
فرض دوم من این است که شما با مفهوم متغیر در برنامه نویسی VBA آشنایی نداشتید اما به مطلب بالا رفتید و هر آنچه که راجع به این مفهوم لازم داشتید را یاد گرفتید پس شما هم در ادامه کار در این آموزش به مشکلی بر نخواهید خورد .
اما شمایی که با این کلمه متغیر یا Variable هیچ آشنایی ندارید شدیدا به شما توصیه می کنم که از خواندن ادامه این آموزش صرفنظر کنید و اول مطلب مربوط به لینک بالا را مطالعه کرده و بعد از همین نقطه به مطالعه ادامه این آموزش بپردازید .
به هر حال از ما گفتن بود .
فلسفه وجود Data Type در برنامه نویسی وی بی ای
در اینجا می خواهیم ببینیم که اصلا چیزی به اسم نوع داده چرا وجود دارد و چه استفاده ای می تواند برای ما داشته باشد .
بیایید یک مثال واقعی را با هم بررسی کنیم تا بهتر این موضوع را درک کنیم .
به تصویر زیر نگاه کنید .
این تصویر یک لیوان است . چیزی که هر روز با آن سر و کار داریم و از آن استفاده می کنیم . اما چه استفاده ای از این لیوان می توانیم بکنیم ؟
می توانیم در این لیوان هر جور مایعی بریزیم . از آب گرفته تا آب میوه و نوشابه یا هر مایع دیگری حالا چه سرد باشد چه گرم هیچ تفاوتی نمی کند .
این یک ظرف است که می تواند هر نوع مایعی را در خود نگه دارد .
اما فرض کنید بخواهیم در این ظرف چیزهای دیگری به غیر از مایع را نگهداری کنیم .
مثلا به تصویر زیر نگاه کنید .
قرار دادن یک قلوه سنگ در داخل این لیوان کار غیر ممکنی است . حتی اگر بخواهیم که با زور یکی از این قلوه سنگ ها را در داخل این لیوان قرار دهیم نتیجه چیزی بغیر از شکستن این لیوان نخواهد بود .
حالا همین مثال را در ذهن خود نگه دارید .
در دنیای برنامه نویسی VBA هم قضیه دقیقا به همین منوال است . یک متغیر در حکم یک محفظه و ظرفی است که در آن قرار است اطلاعات خود را قرار دهیم . حالا این اطلاعات چه شکل و چه نوعی باشند چیزی است که از آن تحت عنوان Data Type اسم می بریم .
معرفی انواع Data Type در برنامه نویسی VBA
حالا می خواهیم ببینیم که چند نوع داده در برنامه نویسی داریم .
باز هم برگردیم به دنیای واقعی خودمان .
ما در دنیای اطرافمان تمامی مواد را به سه دسته تقسیم بندی می کنیم. جامدات – مایعات و گازها .
حالا دیگر فرقی نمی کند که این ماده آب باشد یا نوشابه یا بنزین یا الکل همه اینها جزو مایعات هستند .
یا میز و صندلی و در و دیوار و کمد و …. همه در زیر مجموعه جامدات قرار دارند .
در برنامه نویسی هم دقیقا به همین منوال است . ما در برنامه نویسی VBA انواع داده ها را در دو دسته قرار می دهیم .
داده ها در برنامه نویسی VBA یا از نوع عددی هستند و یا از نوع متنی .
حالا فرق نمی کند که عدد ما یک رقمی باشد یا صد رقمی ، مثبت باشد یا منفی به هر حال همه اینها جزو اعداد هستند .
و یا در مورد متن ها از یک حرف ساده تا یک متن طولانی که می تواند شامل چند صد حرف و کلمه باشد در زیر مجموعه متن ها قرار می گیرند .
حالا خود این داده های عددی و متنی هر کدام به زیر مجموعه هایی تقسیم می شوند .
تا به اینجا سعی کردم تمامی موارد را اگر چه به صورت تئوری ولی کاملا بنیادی و مفهومی توضیح دهم تا با مفهوم حر اصطلاح به خوبی آشنا شوید .
از این به بعد می رویم به سراغ خود این مباحث و آنها را در دنیای برنامه نویسی مورد بررسی قرار می دهیم .
در ابتدای کار به سراغ معرفی انواع داده ها در برنامه نویسی VBA می رویم و بعد از بررسی انواع داده ها به دیگر مباحث پیرامونی برای کار و استفاده از آنها خواهیم پرداخت .
گفتیم که در یک دسته بندی کلی داده ها را در برنامه نویسی وی بی ای به دو دسته داده های عددی یا Numerical و داده های نوع متنی یا Text تقسیم بندی می کنیم .
در قدم اول از بین انوع داده ها در برنامه نویسی VBA به سراغ داده های نوع عددی رفته و انواع مختلف آن را مورد بررسی قرار می دهیم .
معرفی و آشنایی با داده های نوع عددی در برنامه نویسی VBA
به تصویر زیر نگاه کنید .
در اینجا تمامی انواع داده هایی را که در زیر مجموعه داده های عددی قرار می گیرند را برای شما نمایش داده ام.
اما چه چیزی باعث ایجاد تفاوت در بین انواع داده های نوع عددی می شوند ؟
مگر نه اینکه همه آنها به نوعی جزو اعداد هستند پس این تفاوت ناشی از چه چیزی می تواند باشد؟
آنچه که باعث ایجاد تفاوت در بین انواع داده ها در نوع عددی می شوند در دو چیز است:
– اول در بازه اعدادی است که هر کدام از این داده ها با آنها کار می کنند .
– دومین چیزی که موجب این تفاوت می شود در میزان حافظه ای است که هر کدام از این انواع داده ها از کامپیوتر شما اشغال می کنند .
پس وقتی می خواهیم یک داده از نوع عددی را بررسی کنیم باید به دو چیز توجه کنیم اینکه چه بازه ای از اعداد را شامل می شود و اینکه چه میزان فضا را اشغال می کند . .
حالا با هم یکی یکی به سراغ این داده ها رفته و همه آنها را به ترتیب مورد بررسی قرار می دهیم .
داده نوع اول: byte
در مجموعه انواع داده های عددی ، داده های نوع بایت از هر لحاظ کوچکترین هستند . هم از لحاظ بازه اعدادی که برای آنها تعریف شده و هم از لحاظ حافظه ای که اشغال می کنند .
داده های نوع بایت فقط شامل اعدادی می شوند که بین صفر تا ۲۵۵ باشند و نه یک بیشتر و نه یکی بیشتر فقط و فقط بین ۰ تا ۲۵۵ .
اگر یک متغیر خود را از نوع بایت تعریف کنید این متغیر به میزان یک کیلو بایت از فضای حافظه رایانه شما را اشغال می کند .
داده نوع دوم: integer
اگر اعدادی که می خواهید آنها را ذخیره کنید از صفر کمتر و یا از ۲۵۵ بیشتر هستند باید به سراغ داده نوع Integer بروید.
integer به معنای عدد صحیح است . دامنه این نوع از داده های عددی در برنامه نویسی VBA اعداد بین ۳۲,۷۶۸- تا ۳۲,۷۶۷ را شامل می شود. مقدار حافظه مورد نیاز برای این نوع داده ۲ کیلوبایت است .
این نوع داده یکی از پرکاربردترین نوع داده های عددی در برنامه نویسی VBA می باشد.
داده نوع سوم: single
اگر با اعدادی سر و کار دارید که در بازه اعداد Byte و integer نمی گنجد باید به سراغ داده نوع single بروید .
این نوع از داده ها اعداد بین ۲,۱۴۷,۴۸۳,۶۴۸- تا ۲,۱۴۷,۴۸۳,۶۴۷ را پوشش می دهد .حافظه مورد نیاز برای ذخیره این نوع از داده ها معادل ۴ بایت است .
تا به اینجای کار سه نوع از انواع داده های عددی را بررسی کردیم . نکته مهمی که در مورد این سه نوع داده وجود دارد این است که هر سه نوع این داده ها فقط اعداد صحیح را قبول می کنند .
یعنی با استفاده از این نوع داده ها قادر به ذخیره اعداد اعشاری نخواهیم بود .
بعنوان مثال اگر بخواهیم عدد ۲۵/۱۲ را در داده نوع بایت ذخیره کنیم هر چند که با پیغام خطا از سوی برنامه مواجه نمی شویم اما برنامه بطور خودکار این عدد را به نزدیکترین عدد قبل و یا بعد از خود گرد می کند .
اما برای ذخیره اعداد اعشاری چه باید بکنیم ؟
برای این کار باید به سراغ Data type های زیر برویم .
داده نوع چهارم: Long
اگر عددی که می خواهید ذخیره کنید شامل یک رقم اعشار است می توانید از این نوع داده استفاده کنید .
دامنه اعدادی که این نوع داده می گیرد بین از عدد ۳٫۴۰۲۸۲۳E38 – برای تا ۱٫۴۰۱۲۹۸E-45 – برای اعداد منفی و از عدد ۱٫۴۰۱۲۹۸E-45 تا ۳٫۴۰۲۸۲۳E38 برای اعداد مثبت می باشد.
در این حالت اگر عددی که وارد می کنید بیشتر از یک رقم داشته باشد برنامه بطور خود کار ارقام بعد از ممیز را گرد کرده و فقط یک رقم آن را نمایش می دهد .
میزان فضای لازم برای ذخیره این نوع از داده ها برابر با ۴ بایت است .
اما اگر مد نظرتان است که بعد از ممیز تعداد ارقام بیشتری داشته باشید یعنی اینکه می خواهید محاسبات تان خیلی دقیق باشد . بنابراین برای ذخیره ارقام بیشتر از یک رقم بعد از اعشار باید از نوع داده زیر استفاده کنید .
داده نوع پنجم: Decimal
این نوع داده محدودیتی در استفاده و نمایش تعداد ارقام بعد از ممیز ندارد .
دامنه اعداد تعریف شده برای این نوع از داده برای اعداد منفی از عدد ۱٫۷۹۷۶۹۳۱۳۴۸۶۲۳۱E308 -تا ۴٫۹۴۰۶۵۶۴۵۸۴۱۲۴۷E-324 – و برای اعداد مثبت ۴٫۹۴۰۶۵۶۴۵۸۴۱۲۴۷E-324 تا ۱٫۷۹۷۶۹۳۱۳۴۸۶۲۳۲E308 می باشد .
مقدار حافظه ای هم که این نوع داده اشغال می کند برابر با ۸ بایت خواهد بود .
داده نوع ششم : Double
این نوع از داده ها نوع خاصی از انواع داده هستند که وجود مستقلی نمی توانند داشته باشندو بزرگترین مقدار آن +/-۷٫۹۲۲۸۱۶۲۵۱۴۲۶۴۳۳۷۵۹۳۵۴۳۹۵۰۳۳۵ و کوچکترین مقدار غیر صفر مورد قبول برای آن +/-۰٫۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۱ است .
مقدار حافظه مورد نیاز برای این نوع داده هم معادل ۸ بایت است .
این ها ۷ مورد از انواع داده هایی بودند که در گروه داده های عددی واقع می شوند .
در مرحله بعد باید به سراغ نوع دیگری از انوع داده ها در برنامه نویسی VBA برویم .
این نوع از داده ها در گروه داده های متنی تقسیم بندی می شوند .
معرفی و آشنایی با داده های نوع متن در برنامه نویسی VBA
دسته گیری از اطلاعاتی که با آنها در برنامه نویسی وی بی ای سرو کار داریم داده های نوع متن یا همان Text هستند. این دسته از داده ها هم به نوبه خود شامل یک سری زیر مجموعه هستند که در زیر آنها را بررسی می کنیم .
تصویر زیر انواع مختلف از داده هایی را که در مجموعه داده های متنی قرار می گیرند را نمایش می دهد .
حالا با هم به بررسی یک به یک این نوع داده ها می پردازیم .
داده نوع string
داده نوع String هر نوع متنی را در خود نگه داری می کند .حالا این متن می خواهد یک حرف باشد یا یک متن طولانی .
در مورد این نوع داده باید بدانیم که علاوه بر متن ها این نوع از داده می تواند اعداد را هم شامل شود یا علاوه بر اعداد می توان کاراکترها و علائم خاص را نیز توسط این نوع داده ذخیره نمود .
اگر در تصویر بالا کمی دقت کنید من در این دیاگرام دو بار نام داده String را آورده ام . اما چرا ؟ این به این خاطر است که ما در وی بی ای دو نوع داده از نوع String می توانیم داشته باشیم .
نوع اول از داده String با طول ثابت است . یعنی ما می توانیم نوع داده خود را از نوع String تعریف کنیم اما در عین حال می توانیم تعیین کنیم که متغیر از این نوع چند کاراکتر را در خود قبول کند .
برای تعیین طول یک متغیر از نوع داده String از ساختار زیر استفاده می کنیم .
dim strname AS string * 10
اینجا من یک متغیر تعریف کرده ام به اسم strname . این متغیر قرار است اسم یک فرد را بگیرد و در خود ذخیره کند . پس نوع داده آن را از نوع string در نظر گرفته ام . اما در عین حال مشخص کرده ام که کاربر بیشتر از ۱۰ کاراکتر را نتواند وارد کند .
این نوع داده ، string با طول ثابت بود .
اما در مقابل یک نوع String داریم که برای آن محدودیتی در نظر نمی گیریم . این نوع داده را تحت عنوان string از نوع متغیر نام گذاری می کنند .
برای تعریف این نوع داده لازم نیست کار خاصی بکنیم فقط کافی است اسم متغیر خود را آورده و در ادامه نوع متغیر را از نوع string قرار دهیم .
dim strname AS string
مطالب زیر را حتما مطالعه کنید
ذخیره نمودارها با کدهای VBAبصورت تصویر+راهنمای گام به گام
لیست باکس ها در برنامه نویسی VBA ؛ تمام چیزی که باید بدانید .
۷ اشتباه در کدنویسی VBA که ممکن است شما هم مرتکب شوید ؟
توی این آموزش راجع به اشتباهاتی که ممکن است در برنامه نویسی VBA مرتکب آنها شوید صحبت می کنیم .
با این خطای Runtime Error 1004 در VBA چکار کنیم ؟
در این آموزش راجع به خطایی به اسم Run time error 1004 در برنامه نویسی وی بی ای با هم صحبت می کنیم .
چطور با کدهای VBA اطلاعات را از اکسس به ورد بفرستیم؟
کلمه کلیدی set و کاربردهای آن در برنامه نویسی VBA
3 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
mamnoon besyar aaaaali
بسیار کاربردی و مفید بود. با تشکر از شما
سپاس از همراهی شما