وارد کردن اجباری دیتا در سلول اکسل

چگونه کاربر را ملزم به پر کردن سلولهای اکسل نمائیم ، وارد کردن اجباری اطلاعات

وارد کردن اجباری دیتا در سلول اکسل

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

مثال مورد استفاده برای الزام به پر کردن سلول اکسل :

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

الزام به پر کردن سلول در اکسل
الزام به پر کردن سلول در اکسل

همونطور که در تصویر بالا می بیند ، سلولهای A3 و B2 خالی هستند ، می خوایم کاری کنیم که کاربر اجازه نداشته باشه سلولها رو خالی بذاره و به سلول بعد بره.

روشهای ملزم کردن کاربر اکسل برای ورد اطلاعات و خالی نگذاشتن سلول :

  1. استفاده از فرم و کد نویسی
  2. استفاده از قابلیت دیتا ولیدیشن 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- کدهای زیر را در آنجا قرار دهید .

Dim a As Range
For Each a In Sheet1.Range(“a2:a100”)
    If TextBox1.Text = “” Or TextBox2.Text = “” Or TextBox3.Text = “” Then
        MsgBox “پر کردن تمامي موارد الزاميست”, vbCritical + vbOKOnly, “وبسایت آفیس باز”
        Exit Sub
    End If
    If a = “” Then
        a = TextBox1.Text
        a.Offset(0, 1) = TextBox2.Text
        a.Offset(0, 2) = TextBox3.Text
        MsgBox “اطلاعات با موفقيت ثبت شد”, vbDefaultButton3 + vbInformation + vbOKOnly, “ثبت اطلاعات”
        TextBox1.Text = “”
        TextBox2.Text = “”
        TextBox3.Text = “”
        TextBox1.SetFocus
        Exit Sub
    End If
Next a
End Sub
7- فایل اکسل خود را با پسوند xlsm و به صورت ماکرو اینیبل ذخیره نمائید .
[aparat id=”WdaAz” width=”720″]
[sdfile url=”https://officebaz.ir/File/OfficebazSampleForms.zip”]

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

3 دیدگاه دربارهٔ «چگونه کاربر را ملزم به پر کردن سلولهای اکسل نمائیم ، وارد کردن اجباری اطلاعات»

  1. سلام.وقت بخیر.تشکر از سایت خوبتون
    بنده برای یک دسته اطلاعات (که در قسمتی از سطر اول شیت قرار داره) میخوام لیست کشویی درست کنم و اجبارا بین اون سلولهایی که میخوام برای Data validation استفاده کنم،یکی در میان سلول خالی وجود داره که متاسفانه نباید حذفشون کنم.یا استفاده از انتخاب چندگانه (Ctrl+ Select) هم امتحان کردم،ولی بخاطر اینکه بنده 27 سلول برای انتخاب دارم،فقط اجازه انتخاب محدوده سلولها (از ابتدا تا شماره 27) رو بهم میده که در اینصورت اون سلولهای خالی که مورد نیاز نیست هم به Data validation اضافه میکنه.چه راه حلی برای این مشکل پیشنهاد میکنید؟ ممنون

پیمایش به بالا