fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa en fa fa fa en en fa en fa fa fa en en en fa en fa fa en en fa fa fa fa en en fa en fa en fa fa en fa fa en en en uk fa en en en en fa fa fa en fa ar fa mzn fa mzn fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa en en en fa fa fa fa fa fa fa fa fa en en en fa en fa fa
در مطالب آموزشی قبل در خصوص نحوه قفل کردن یکجای شیت ها توسط کدنویسی صحبت کردیم ؛ اما در صورتی که بخواهیم برای ورود به هر شیت یک کلمه عبور از کاربر درخواست کنیم ؛ باید به چه روشی عمل کرد؟ در واقع هدف اصلی از این آموزش پسورد گذاری شیت با VAB است که آن را بصورت مرحله به مرحله پیاده سازی خواهیم کرد.
فرض کنید یک فایل اکسل دارید که حاوی 3 شیت که هریک متعلق به یک کاربر بوده و توسط آنها تکمیل خواهد گردید ؛  یک شیت نیز بعنوان منوی اصلی می باشد.
در تصاویر بالا محیط منوی اصلی و نیز محیط کاربری را ملاحظه می کنید ؛ در واقع هدف ما این است که با ورود به فایل اکسل ؛ ابتدا شیت منوی اصلی به نمایش درآید و سایر شیت ها که شامل محیط کاربری هستند بصورت مخفی باشند و بصورت عادی و مانند آنچه در آموزش شیت در اکسل به آن اشاره کردیم نتوان آنها را از حالت مخفی خارج کرد.
قدم اول : فعال سازی ماکروها در اکسل
برای فعال سازی ماکروها در اکسل ابتدا بایستی وارد محیط Options در اکسل شویم ؛ برای ورود به این بخش ابتدا روی تب File کلیک کرده و از صفحه باز شده در سمت چپ صفحه ؛ گزینه آخر روی Options کلیک می کنیم.
بعد از انجام اینکار مطابق تصویر زیر پنجره Excel Options به نمایش درخواهد آمد ؛ در این پنجره ابتدا به تب Trust Center  و سپس روی گزینه Trust Center Settings کلیک می کنیم.
مطلب پیشنهادی >> تجمیع اطلاعات چند شیت در یک شیت در اکسل
پس از فعال سازی ماکروها نوبت به کدنویسی می رسد ؛ برای شروع کار کافی است روی شیت منوی اصلی راست کرده و از لیست باز شده روی گزینه View Code کلیک کنیم :
کد نویسی را شروع کنید
پس از انجام اینکار وارد محیط کد نویسی در نرم افزار اکسل خواهیم شد ؛ در این بخش مطابق تصویر زیر در سمت چپ (مرحله 2) روی ThisWorkbook دابل کلیک میکنیم ؛ با انجام اینکار یک پنجره بنام (ThisWorkbook (Code به نمایش در خواهد آمد ؛ سپس مطابق مرحله 3 از لیست کشویی WorkBook را انتخاب می کنیم.
در ادامه طبق مرحله 4 لیست کشویی را روی Open قرار داده و در مرحله پنجم کدهای نوشته شده را که با کادر قرمز رنگ مشاهده می کنید در بین Private Sub Workbook_Open و End Sub قرار می دهیم. با این کدها به اکسل می گوئیم که با باز شدن Workbook شیت های 2 و 3 و 4 را که همان محیط کاری کاربران هستند مخفی کند.
حالا روی دکمه محیط کاربر 1 که آن را از طریق تب Insert گزینه lllustrations و Shapes ( ممکن است این مسیر در آفیس با ورژن های دیگر متفاوت باشد) راست کلیک کرده و گزینه Assign Macro را انتخاب می کنیم :
مطلب پیشنهادی >> آموزش ایجاد فرم ورود کاربران(Login)
پس از کلیک بر این گزینه مطابق تصویر زیر پنجره Assgin Macro باز خواهد شد ؛ در این پنجره مطابق مرحله 7 ابتدا یک نام برای ماکرو انتخاب کنید و سپس بر روی گزینه New کلیک می کنیم تا وارد محیط کدنویسی ماکرو شویم.
مطلب پیشنهادی >> تجمیع اطلاعات چند شیت در یک شیت در اکسل
پس از ورود به محیط کدنویسی ماکرو مطابق تصویر زیر ؛ کدهای قرار گرفته در بین عبارت Sub Login و End Sub را می نویسیم ؛ در کادر قرمز رنگ که در تصویر پائین آن را ملاحظه می کنید ؛ می بایست پسورد ورود به شیت را وارد کنیم ؛
کاربران 2 و 3 را فراموش نکنید!
این کار را با ایجاد 2 ماکروی دیگر به نام های Login1 و Login2 برای ورود کاربر 2 و کاربر 3 انجام داده و برای این کاربران نیز بصورت مجزا 2 پسورد تعریف میکنیم ؛ نکته مهمی که باید به آن توجه کنیم آن است که در این ماکرو ها باید عمل نمایان و مخفی سازی شیت ها را به گونه ای انجام دهیم که با کلیک کردن بر روی هر دکمه درنظر گرفته شده برای هر کاربر ؛ تنها شیت مربوط به آن کاربر از حالت مخفی خارج شده و به نمایش درآید و شیت سایر کاربران مجددأ بصورت مخفی در آیند ؛ برای این منظور در ماکروی Login1 که میخواهیم عملیات ورود به محیط کاربر 2 را برای ما انجام دهد ؛ بعد از دستور If کدها را بصورت زیر وارد می کنیم :
این اصلاح را در ماکروی سه که نام آن را Login3 در نظر گرفتیم باید بصورت زیر پیاده سازی کنیم تا عمل نمایش و مخفی سازی با ترتیب صحیح مورد نظر ما انجام گردد و ترتیب کار رعایت شود:
مطلب پیشنهادی >> چطور همه شیتها را یکجا قفل کنیم؟
فایل خود را ذخیره کنید!
حالا لازم است تا فایل خود را با فرمت Xlsm ذخیره کنید و نتیجه را کنترل کنید ؛ پس از ذخیره سازی فایل ؛ یکبار از فایل خارج و مجددأ وارد آن می شویم ؛ با ورود اولیه ما به فایل ؛ برابر با آنچه کدنویسی کردیم تنها شیت منوی اصلی به ما نمایش داده خواهد شد ؛ پس از کلیک بر روی هریک از دکمه ها جهت ورود به محیط کاربر ؛ پنجره دریافت پسورد مطابق تصویر زیر به نمایش درخواهد آمد:
در صورتی که پسورد را بصورت صحیح وارد کنیم ؛ شیت مورد نظر به نمایش درخواهد آمد ؛ اما اگر پسورد با آنچه برای ورود به شیت مطابقت نداشته باشد ؛ پیام دیگری مبنی بر صحیح نبودن پسورد به نمایش درخواهد آمد: