Input box در اکسل به همراه مثال های کاربردی

در این آموزش از سری آموزش های سایت سافت پلاس می خواهیم در خصوص Input box در اکسل با هم صحبت کنیم.

در این آموزش یاد خواهیم گرفت که یک input box  را بطور کامل و البته با دو روش کاملا مجزا از هم ایجاد کنیم .

با کارایی های یک input box آشنا می شویم. 

یاد خواهیم گرفت که چگونه تنظیمات مربوط به یک input box را انجام دهیم .

یاد خواهیم گرفت که چگونه مقادیر مورد نیاز خود را در قالب یک input box از کاربر دریافت کرده و در انتها چگونه از این مقادیر استفاده کنیم .

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

در انتهای این مطلب شما به نقطه ای خواهید رسید که بطور کامل در موارد زیر به سطح مهارتی بالایی دست پیدا کنید :

۱- خیلی خوب با  مفهوم input box آشنا می شوید . 

۲- به خوبی خواهید دانست که در کجاها می توانید از یک input box استفاده کنید .

۳- به راحتی خواهید توانست یک input box را ایجاد کرده و تنظیمات مربوط را آن را انجام دهید .

۴- در نهایت هم می توانید با اطلاعاتی که از یک input box دریافت می کنید کار کرده و  از آنها در پروژه خود استفاده کنید .

پس تا پایان این مطلب همراه من باشید .

مفهوم Input box در اکسل چیست؟

در اولین قدم باید با خود input box آشنا شویم . 

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

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

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

و یا کمبو باکس ها و حتی چک باکس ها و دکمه های رادیویی یا همان Radio Button  هم می تواند به نحوی برای دریافت اطلاعات ما بعنوان یک برنامه نویسی از کاربر کمک کنند .

خوب در این بین input box ها هم یکی از قابلیت هایی هستند که به کمک آنها می توانیم اطلاعات مورد نظر خود را از کاربر دریافت کنیم . 

یک input box را به نحوی می توان هم خانواده message box ها دانست .

این دو با هم شباهت ها و در عین حال تفاوت هایی هم دارند .

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

اما تفاوت آنها در چیست ؟

مهمترین تفاوت بین یک input box و یک Message box  که در واقع باعث تغییر در عملکرد و ماهیت  آنها می شود این است که یک input box علاوه بر اینکه می تواند یک پیغام را به کاربر نمایش دهد می تواند یک مقدار را نیز از کاربر دریافت کنید .

امکانی که در یک کادر پیغام یا همانMessage box وجود ندارد .

در خصوص Message box در اکسل ما قبلا مفصلا در مطلب جداگانه ای صحبت کرده و مسائل و موارد مربوط به انها را مورد بررسی قرار دادیم . 

اگر علاقمند به مطالعه این مطلب هستید می توانید با کلیک بر روی لینک زیر به مطلب مذکور دسترسی پیدا کنید .

مطلب مرتبط : آشنایی با Message box در محیط کاری اکسل

اما امروز می خواهیم راجع به input box در اکسل با هم صحبت کنیم . 

اول ببینیم که چگونه می توانیم یک input box  را ایجاد کنیم .

روش های ایجاد یک input box در نرم افزار اکسل

 ما در اکسل به دو طریق می توانیم یک  input box   را ایجاد کنیم .

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

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

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

Input box در اکسل

ما باید مقادیر مربوط به هر آرگومان را تنظیم کنیم .

اما اول باید با هر کدام از این ورودی ها آشنا شویم .

آرگومان اول : Prompt 

این آرگومان از نوع متن است .

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

آرگومان دوم: Title 

 با استفاده از این آرگومان می توانیم عنوان input box  خود را به کاربر نمایش دهیم .

آرگومان سوم : Default 

با استفاده از این آرگومان می توانیم یک مقدار پیش‌فرض را برای input box خود در نظر بگیریم .

آرگومان جهارم : Xpos 

این آرگومان موقعیت نمایش input box  ما در محور طولی یا همان محور X  تعیین می کند .

آرگومان پنجم : Ypos 

این آرگومان موقعیت نمایش input box  ما در محور عرضی یا همان محور Y   تعیین می کند .

آرگومان ششم: Helpfile

این \پارامتر وقتی به کار می آید که ما یک فایل راهنما را برای کادر خود طراحی و ایجاد کرده ایم

آرگومان هفتم : context 

این  پارامتر وقتی کاربرد پیدا می کند که آرگومان قبلی را تنظیم کرده باشیم .

در اینجا با تمامی پارامترها و آرگومانهای این تابع آشنا شدیم .

اما یک نکته مهم را باید یادآوری کنم .

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

یعنی اگر برای سایر پارامترها ما مقداری را تعیین نکنیم برنامه بطور خودکار از مقادیر پیش‌فرض برای هر پارامتر استفاده کرده و تابع ما را اجرا خواهد کرد .

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

اجازه دهید از این جا به بعد کار را پروژه محور پیش ببریم .

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

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

در انتها هم عدد حاصل را در قالب یک کادر پیغام یا msgbox  به کاربر نمایش می دهیم .

پس کار را باهم شروع می کنیم

ایجاد input box  توسط برنامه نویسی .

ما در کدهای زیر یک کادر input box  را با استفاده از  پارامترهایی که باید تعریف کرده ایم .

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

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

ما با استفاده از این متغیر می توانیم هر عددی را که کاربر وارد کرد را دریافت کرده و در حافظه کامپیوتر ذخیره کنیم .

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

حال این محاسبات چه هستند .

 در خط بعدی هم متغیر result  را تعریف کردیم . این متغیر نتیجه محاسبات را برای ما ذخیره خواهد کرد .

در مورد خود تابع موارد زیر را لحاظ کرده ایم : 

– ما در اینجا فقط از سه آرگومان از مجموعه ۷ آرگومان تابع استفاده کرده ایم .مابقی آرگومانها را خالی گذاشته ایم . 

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

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

در بخش سوم هم یک عدد را وارد کرده ایم .

این عدد مقداری پیش‌فرض است که برای برنامه مشخص کرده ایم .

در واقع اگر کاربر هیچ عددی را وارد نکند برنامه این عدد را مبنا قرار داده و عملیات خود را ادامه می دهد .

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

Input box در اکسل

 

تا اینجای کار ما یک Input box  را ایجاد کرده و یک عدد را نیز از کاربر دریافت کرده ایم .

حالا باید  به سراغ محاسبات برویم .

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

یعنی هر عدد را که از کاربر بعنوان سال تولد دریافت کردیم را با عدد ۶۲۲ جمع می کنیم .

حاصل این عبارت را در متغیر Result ذخیره می کنیم .

در مرحله آخر هم نتیجه حاصل را که در داخل متغیر  Result   ذخیره کرده ایم را به کاربر نمایش می دهیم .

برای این کار از کد زیر استفاده می کنیم .

 در اینجا کار ما تمام می شود .

یعنی از  کاربر یک عدد را در داخل input box   خود دریافت کردیم و با انجام محاسباتی آن را تبدیل به سال میلادی کرده و در قالب یک کادر پیغام یا msgbox  نتیجه را در اختیار کاربر قرار دادیم . 

پس ما در اینجا با موفقیت کار بر روی یک Input mask  را به سرانجام رساندیم .

حالا به بررسی مسائل بیشتر در این مورد می پردازیم .

می خواهیم  چند سوال را مطرح و با هم به پاسخ آنها برسیم .

سوال اول : چگونه متن پیغام خود را در دو خط مجزا از هم بنویسیم ؟.

در مرحله قبل ما کادری را ایجاد کردیم که حاوی یک خط پیغام بود .

اما اگر بخواهیم خط دوم و یا سومی را برای کادر خود در نظر بگیریم چه باید بکنیم ؟

خوب برای این منظور می توانیم از کدهای زیر استفاده کنیم .

Input box در اکسل

همانطور که می بینید ما در اینجا از یک ثابت به نام vbcrlf  استفاده کردیم .

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

نتیجه و خروجی کد بالا برای ما مثل تصویر زیر خواهد بود . Input box در اکسل

سوال دوم : چگونه کنترل کنیم که کاربر مقادیر اشتباهی را وارد نکند ؟.

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

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

این سال تولد باید دارای شرایط زیر باشد .

اول اینکه حتما بصورت ۴ رقم باشد .

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

خوب برای این کار هم باید از کد نویسی VBA  استفاده کنیم .

اول می خواهیم کنترل کنیم که کاربر حتما سال تولد خود را بصورت ۴ رقم وارد کند .

برای این منظور از کدهای زیر استفاده می کنیم .

با استفاده از این کدها تعیین می کنیم که اگر کاربر مقدار سال تولد خود را کمتر یا بیشتر از ۴ رقم وارد کند طی یک پیغام این اشتباه به اطلاع کاربر برسد .

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

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

 

این آموزش به تدریج تکمیل خواهد شد ……………

 

Input box در اکسل

آموزش اکسل بازدید : 499 views 14 جولای, 2020 ۰