انواع داده VBA: راهنمای انواع داده و محدوده مقادیر آنها

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

انواع داده عددی در VBA

جدول زیر انواع داده عددی پشتیبانی شده توسط زبان برنامه نویسی VBA، محدوده مقادیر و حافظه موردنیاز را نمایش می دهد.

نام داده محدوده مقادیر حافظه موردنیاز پیشوند نام متغیر
Byte ۰ تا ۲۵۵ ۱ بایت byt
Integer ۳۲۷۶۸- تا ۳۲۷۶۷ ۲ بایت int
Long ۲،۱۴۷،۴۸۳،۶۴۸- تا ۲،۱۴۷،۴۸۳،۶۴۷ ۴ بایت lng
 LongLong1 ۹,۲۲۳,۳۷۲,۰۳۶,۸۵۴,۷۷۵,۸۰۸- تا ۹,۲۲۳,۳۷۲,۰۳۶,۸۵۴,۷۷۵,۸۰۷ ۸ بایت
LongPtr2 ۲,۱۴۷,۴۸۳,۶۴۸- تا ۲,۱۴۷,۴۸۳,۶۴۷ برای سیستم ۳۲ بیت ۹,۲۲۳,۳۷۲,۰۳۶,۸۵۴,۷۷۵,۸۰۸- تا ۹,۲۲۳,۳۷۲,۰۳۶,۸۵۴,۷۷۵,۸۰۷ برای سیستم ۶۴ بیت ۴ بایت – ۳۲ بیت ۸ بایت – ۶۴ بیت
Single -3.402823E+38 تا -1.401298E-45 برای اعداد منفی 1.401298E-45 تا 3.402823E+38 برای اعداد مثبت ۴ بایت sng
Double -1.79769313486232e+308 تا -4.94065645841247E-324 برای اعداد منفی 4.94065645841247E-324 تا 1.79769313486232e+308 برای اعداد مثبت ۸ بایت dbl
Currency ۹۲۲،۳۳۷،۲۰۳،۶۸۵،۴۷۷.۵۸۰۸ تا ۹۲۲،۳۳۷،۲۰۳،۶۸۵،۴۷۷.۵۸۰۷ ۸ بایت cur
Decimal3 ۷۹,۲۲۸,۱۶۲,۵۱۴,۲۶۴,۳۳۷,۵۹۳,۵۴۳,۹۵۰,۳۳۵+/- بدون اعشار ۷.۹۲۲۸۱۶۲۵۱۴۲۶۴۳۳۷۵۹۳۵۴۳۹۵۰۳۳۵+/- با ۲۸ اعشار ۰.۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۱ کوچکترین عدد غیر صفر ۱۴ بایت
 Variant (with numbers) تمام مقادیر داده نوع  Double را شامل می شود. ۱۶ بایت vnt
۱. این نوع متغیر فقط برای VBA نسخه ۷.۰ و آفیس ۶۴ بیت در دسترس می باشد. ۲. این نوع در واقع یک نوع داده نمی باشد و در سیستم های ۳۲ بیتی به نوع Long و در سیستم های ۶۴ بیتی به نوع LongLong تبدیل می شود. استفاده از این نوع وقتی می تواند مفید باشد که قرار است کد نوشته شده بر روی محیط آفیس ۳۲ و ۶۴ بیتی در دسترس باشد.
  • ۳. اعلان این نوع متغیر باید به صورت Variant صورت پذیرد و از طریق تابع CDEC نوع به Decimal تغییر یابد.
  • انواع داده غیرعددی در VBA

    در جدول زیر شامل انواع داده غیر عددی پشتیبانی شده، محدوده مقادیر وحافظه موردنیاز آن در VBA می باشد.

    نام داده محدوده مقادیر حافظه موردنیاز پیشوند نام متغیر
    Boolean1 True یا False ۲ بایت bln
    Collection Unknown Unknown col
    Date January 1, 100 تا December 31, 9999 ۸ بایت dtm
    Dictionary Unknown Unknown
    Object هر نوع مصداق شیء ۴ بایت obj
    String (variable-length) ۰ تا حدود ۲ بیلیون ۱۰ بایت + طول نویسه str
    String (fixed-length)2 ۱ تا حدود ۶۵۴۰۰ طول نویسه str
    Variant (with characters) ۰ تا حدود ۲ بیلیون ۲۲ بایت + طول نویسه (۲۴ بایت روی سیستم ۶۴ بیت) vnt
    User-defined (using Type)3 معادل نوع داده ای که اعلان می شود. معادل نوع داده ای که اعلان می شود.
    ۱. وقتی که نوع داده عددی تبدیل به این نوع شود، عدد ۰ معادل False و سایر اعداد معادل True می باشد. اگر این نوع داده تبدیل به سایر انواع داده شود False تبدیل به ۰ (صفر) می شود و  True تبدیل به ۱- (منهای یک) می شود. ۲. برای اعلان متغیر String با طول ثابت می بایست طول نویسه در خط اعلان متغیر بعد از علامت ستاره (* / Asterisk) درج گردد. مثال Dim s As String * 3 ۳. این نوع داده از طریق دستور Type اعلان می شود.

    منبع

    Data type summary