متغیرها در ویژوال بیسیک

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

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

متغیرها در ویژوال بیسیک برنامه نویسان به تعداد دلخواه و بیشمار میتوانند متغیر تعریف کنند، میتوانند متغیرها را از انواع مختلف و حوزه های اعتبار متفاوت (اینکه هر متغیر در کدام ماژول یا پروسیژر اعتبار دارد) توصیف کنند و یا حتی در ماکرو نویسی ویژوال بیسیک، برنامه نویس میتواند هیچ متغیری تعریف نکند و کد ها به درستی کار کنند.

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

بررسی متغیرها در ماکرونویسی در اکسل

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

نامگذاری متغیرها در ویژوال بیسیک

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

  • کاراکتر اول نام باید از حرف باشد، اعداد و… مورد قبول نیستند.
  • از کاراکتر های فاصله (Space)، علامت تعجب (!) و کاراکترهایی مانند @، $، &، # و * نمیتوان استفاده نمود.
  • تعدا کاراکترها نباید بیش از ۲۵۵ باشد.
  • کلمات معنا دار برای ویژوال بیسیک مانند کلمات کلیدی و دستوری و کلیه کلماتی که به نوعی در دایره لغات معنی دار ویژوال بیسیک میگنجند را نمیتوان به عنوان نام متغیر تعریف نمود. برخی از کلمان معنی دار در مقاله ی مفاهیم ویژوال بیسیک ائه شده است.
  • زبان ویژوال بیسیک به صورت پیش فرض Case Sensitive نیست و دو نام مشابه با حروف بزرگ و کوچک را یکسان تلقی میکند.

متغیرها در ویژوال بیسیک

تعریف متغیر در ویژوال بیسیک و حوزه اعتبار آن

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

انواع متغیرها در ویژوال بیسیک

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

اشتراک گذاری در شبکه های اجتماعی: share on facebook share on google plus share on linkedin

۸ نظر

  1. soleimani

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

    1. حامد قدیمی

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

  2. م پ

    سلام ممنون از توضیحات خوبتون

    یه سوال از خدمتتون داشتم:
    من میخوام با ویژوال بیسیک اکسل یه کد بنویسم که به این صورت باشه:
    چندتا سلول دارم که تو هر کدومشون یه چیزی نوشته شده و در کنارش یه چک باکس هست. و کاربر، به دلخواه میتونه تیک بزنه یا نه اینکار رو نکنه.
    بسته به اینکه چک باکس هر سلول تیک خورده باشه یا نه دو اتفاق میفته براش:
    اگه تیک خورده باشه محتویات اون سلول میره تو یه شیت دیگه ذخیره میشه و اگه تیک نخورده باشه محتویات اون سلول تو یک شیت مجزای دیگه ذخیره میشه.

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

    آیا این کار شدنیه؟ بی صبرانه منتظر جوابتون هستم.

    1. حامد قدیمی

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

  3. پدرام

    در ویژوال می نویسم:
    a = Val(Text1.Text)
    و موقع اجرای برنامه پیام میده که متغیر تعریف نشده
    مشکل چیه؟

    1. حامد قدیمی

      در تنظیمات ویژوال بیسیک تعریف متغیر ها را الزامی کرده اید، احتمالاً در بالای کد های شما عبارت Option Explicit نوشته شده است، در این حالت شما باید متغیر خود را که در اینجا a یا Text1 را تعریف کنید، برای تعریف متغیرها میتوانید از کلمه کلیدی Dim استفاده نمایید.

  4. مهدی

    سلام دوست عزیز میخواستم بدونم برای ساخت ماشین حساب در ویژوال بیسیک برای تفریق دستور a = text1.text-text2.text من این دستور را اجرا میکنم ولی به متغیر من که aهست ارور میده و ارورشم اینه که میگه تعریف نشده لطفا راهنماییم کنید بسیار متشکرم

    1. حامد قدیمی

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

دیدگاهتان را بنویسید؟