آیا می توان کار را مجبور کرد که حتما سلولهای مورد نیاز را در اکسل پر کند و و در واقع پر کردن سلولهای اکسل را منوط به پر بودن سلول دیگری نمائیم ؟ آیا می توان از ولیدیشن دیتا Data validation اکسل استفاده کرد ؟جواب این پرسش مثبته و در ادامه آموزشش رو خواهیم داشت ولی این قابلیت به چه دردی میخوره؟
مثال مورد استفاده برای الزام به پر کردن سلول اکسل :
فرض کنید جدولی مانند شکل زیر در اکسل دارید و اپراتور برای شما اطلاعات رو تکمیل می کنه .
همونطور که در تصویر بالا می بیند ، سلولهای A3 و B2 خالی هستند ، می خوایم کاری کنیم که کاربر اجازه نداشته باشه سلولها رو خالی بذاره و به سلول بعد بره.
روشهای ملزم کردن کاربر اکسل برای ورد اطلاعات و خالی نگذاشتن سلول :
- استفاده از فرم و کد نویسی
- استفاده از قابلیت دیتا ولیدیشن Validation Data
استفاده از روش Validation Data
در این روس و با در نظر گرفتن جدول بالا می تونیم کاری بکنیم که کاربر تا وقتی سلول A رو پر نکرده اجازه نداشته باشه سلول B رو پر کنه و تا وقتی سلول B اطلاعات وارد نکرده ، مجاز به نوشتن در سلول C نباشه ، برای این منظور مراحل زیر رو انجام بدین :
- سلول B2 رو انتخاب کنید و از منوهای بالا در تب Data گزینه Data Validation رو انتخاب کنید
- تصویر زیر طاهر میشه که شما باید گزینه Custom رو انتخاب کنید
-
دیتا ولیدیشن در اکسل - در قسمت پائین پنجره بالا یک فرمول بنویسید و حتما تیک گزینه Ignore Blank رو بردارین .
- =NOT(ISBLANK(A2))
-
خالی نگذاشتن سلولهای اکسل - اگر تمایل داشتید می توانید در قسمت Error Alert قسمت بالا ، متن دلخواه را تایپ نمائید ، مانند تصویر زیر :
-
پیغام خطای فارسی در اکسل - شما می توانید تمام مراحل بالا را برای سلول C هم انجام دهید با این تفاوت که این بار ، خالی نبودن سلول B را بررسی نمائید .
- اگر مراحل را به درستی انجام داده باشید ، زمانی که ماربر بخواهد در حالیکه سلول A خالی است در سلول B اطلاعات وارد کند با این تصویر رو برو می شود.
روش دوم استفاده از فرم در اکسل و کد نویسی
همان جدول اول نوشته را به عنوان مثال در نظر می گیریم، در این روش کاربر باید اطلاعات را از طریق فرم وارد نماید و ما می توانیم با استفاده از چند خط کد ساده کاربر را مجبور به وارد کردن تمام اطلاعات نمائیم، برای ان کار مراحل زیر را دنبال کنید .
1- با زدن کلیدهای Alt + F11 به محیط کد نویسی فایل اکسل بروید .
نکته : اگر فایل اکسل دیگری دارید که باز است آن را ببندید تا در محیط کدنویسی خلوت تر باشد.
2- از منوهای بالای محیط VBA گزینه Insert گزینه UserForm را انتخاب نمائید.
3- در فرمی که ایجاد می شود ، آبجکتها را مانند تصویر زیر ایجاد نمائید.
4- نامگذاری آبجکتها را مانند تصویر انجام دهید تا نیازی به تغییر کد نباشد.
5- روی دکمه ثبت اطلاعات دابل کلیک نمائید تا قسمت کدنویسی آن باز شود .
6- کدهای زیر را در آنجا قرار دهید .
امتیاز بینندگان:3 ستاره
با سلام و تشکر فراوان …بسیار مفید بود
سلام.وقت بخیر.تشکر از سایت خوبتون
بنده برای یک دسته اطلاعات (که در قسمتی از سطر اول شیت قرار داره) میخوام لیست کشویی درست کنم و اجبارا بین اون سلولهایی که میخوام برای Data validation استفاده کنم،یکی در میان سلول خالی وجود داره که متاسفانه نباید حذفشون کنم.یا استفاده از انتخاب چندگانه (Ctrl+ Select) هم امتحان کردم،ولی بخاطر اینکه بنده 27 سلول برای انتخاب دارم،فقط اجازه انتخاب محدوده سلولها (از ابتدا تا شماره 27) رو بهم میده که در اینصورت اون سلولهای خالی که مورد نیاز نیست هم به Data validation اضافه میکنه.چه راه حلی برای این مشکل پیشنهاد میکنید؟ ممنون