راه اندازی بخش آموزش برنامه نویسی در اکسل VBA Programming

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

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

البته در این آموزش بیشتر سعی من روی آموزش بصورت پروژه ای خواهد بود تا دستآورد خوبی برای همه ی دوستان داشته باشد.

از همین رو، از کلیه دوستانی که مایل به همکاری در این پروژه هستند و یا در این زمینه سئوالات و یا مشکلاتی دارند، خواهش می کنم به آدرس excelbaz@gmail.com  ایمیل زده و یا نظراتشون رو در قسمت جدیدی که تحت نام "آموزش برنامه نویسی در اکسل (VBA)"  ایجاد نموده ام، بنویسند. امیدوارم که این آموزش هر چند ساده که به عنوان برگ سبزیست تحفه درویش، مورد قبول همه ی دوستان واقع شود.

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

عدم نمايش فرمولها در برنامه اكسل

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

 

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

 

در Format Cell (تنظيمات مربوط به خانه­هاي اكسل) قسمتي وجود دارد به نام  Protection كه داراي دو قسمت انتخابي مي باشد به نام­هاي Locked و Hidden که در این قسمت مورد صحبت ما درباره ی Hidden می باشد.

Format Cell-Hidden

مخفی نمودن فرمولها (کاربرد Hidden)

در قسمت Format Cell و در تب Protection شما علاوه بر گزینه ی Locked گزینه ی دیگری به نام Hidden را نیز مشاهده می نمایید.

اگر قبل از قفل کردن یک شیت، خانه هایی را که در آنها فرمول نوشته اید را انتخاب نموده و سپس وارد Format Cell  شده و گزینه ی Hidden آنها را انتخاب کنید (تیک بزنید) و سپس شیت را قفل نمایید، خواهید دید که علاوه بر کارهایی که در بالاتر توضیح داده شد، فرمولهای خودتان را نیز از دید کاربر مخفی نموده اید.

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

 

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

امید که مقبول واقع شده باشد.

فایل ضمیمه را می توانید از اینجا دانلود کنید. (نسخه ۲۰۰۳)

فایل ضمیمه را می توانید از اینجا دانلود کنید. (نسخه ۲۰۰۷)

 

ایجاد محدوده ورود مقادیر

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

برای انجام این کار مراحل زیر را دنبال نمایید:

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

 در Format Cell (تنظيمات مربوط به خانه­هاي اكسل) قسمتي وجود دارد به نام  Protection كه داراي دو قسمت انتخابي مي باشد به نام­هاي Locked و Hidden و گزینه مورد بحث در این قسمت Locked می باشد. ما از قسمت Locked براي اينكه نوشتن مطالب را به بعضي از قسمتها محدود كنيم، استفاده مي كنيم

Format Cell-Locked

 ایجاد محدوده مجاز ورود اطلاعات (کاربرد Locked)

همانطور که قبلا اشاره شد، در قسمت Format Cell همه ی خانه ها قسمتی وجود دارد به نام Locked که بصورت پیشفرض برای تمامی خانه ها انتخاب شده است (تیک خورده است). زمانی که ما گزینه ی Tools->Protection->Protect Sheet (در آفیس 2003) و یا گزینه ی Review->Protect Sheet (در آفیس 2007) را انتخاب می کنیم، تمامی خانه هایی که در شیت ما، قسمت Locked آنها انتخاب شده است را قفل می کند. یعنی اجازه ورود اطلاعات یا هر کار دیگری را روی همان محدوده، به ما نمی دهد. البته این عملیات می تواند با دادن پسورد همراه باشد و شما می توانید پسورد را در قسمت Password to unprotect sheet وارد نمایید تا در زمان نیاز فقط خود شما بتوانید آنرا بازگشایی نموده و تغییرات را اعمال نمایید.

توضیح: به منظور اطمینان از پسورد، اکسل دو بار آنرا از شما درخواست می کند تا وارد نمایید.

پس چون می بینیم که در حالت عادی در همه ی خانه های اکسل قسمت Locked انتخاب شده است، با انجام این کار، کل شیت قفل می گردد. حالا برای اینکه کاری کنیم تا بتوان به کاربر اجازه داد تا بتواند در قسمتی از خانه ها، اطلاعات وارد کند، ابتدا قبل از انتخاب گزینه ی قفل گذاری، محدوده مورد نظر (محدوده ای که مایلیم حتی پس از قفل گذاری بتوان در آن ورود اطلاعات داشت) را انتخاب نموده و سپس به Format Cell رفته و تیک Locked را بر می داریم.

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

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

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

Protect Sheet Options

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

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

فایل اکسل ضمیمه را می توانید از اینجا دانلود کنید. (برای اکسل ۲۰۰۳)

فایل اکسل ضمیمه را می توانید از اینجا دانلود کنید. (برای اکسل ۲۰۰۷)

منتظر نظرات و پیامهای خوبتان هستم.

آموزش درج ليست در يك سلول

گاهي اوقات احتياج داريم تا در يك ستون، اطلاعاتي را که دارای آیتمهای یکسانی هستند را بصورت تكراري وارد نماييم.

بعنوان مثال مي توان مدرك تحصيلي را در نظر گرفت كه تمامي كارمندان، اعضا و افراد مختلفي كه مي خواهيم نام مدرك تحصيلي آنها را در سلولها وارد كنيم از چند گزينه تجاوز نمي كند (دیپلم، فوق دیپلم، لیسانس و ...). به همين دليل مي توان با استفاده از روشي ساده از نوشتن هر باره­ی آنها جلوگيري نمود و با ايجاد يك ليست، ورود اطلاعات را كاملا ساده نمود.

براي انجام اين كار مي توان به روش زيراقدام نمود.

 1.     ابتدا سلول و يا سلولهايي را كه مايليم اطلاعات در آنها بصورت ليست درج شود را انتخاب مي كنيم.

2.     حالا وارد منوي Data شده و سپس گزينه Validation را انتخاب مي كنيم.

3.     در اين قسمت شما سه سربرگ (Tab) مي بينيد. وارد سربرگ Setting شده و از قسمت Allow گزينه­ي List را انتخاب مي كنيم.

4.     حالا میرسیم به قسمتی که باید مقادیر لیست را انتخاب کنیم. برای انجام این کار دو راه در پیش رو داریم:

 4.1.  راه اول: بایستی قبل از ورود به این مرحله ابتدا در جایی از شیت، مقادیر را وارد کنیم (تایپ کنیم) و سپس زمانی که به این قسمت رسیدیم، در کادر Source روی دکمه­ی Select Range (دکمه­ای که در انتهای کادر قرار دارد) کلیک نموده و سپس محدوده مقادیر لیست را که قبلا تایپ نموده­ایم را با درگ کردن انتخاب کنیم حالا با زدن دکمه­ی Enter و یا کلیک مجدد بر روی همان دکمه، آیتمهای لیست را مشخص نموده و به مرحله قبل باز می گردیم.

 4.2. راه دوم: تایپ کردن گزینه­های لیست در کادر Source با قرار دادن کاراکتر کاما (,) بین اقلام تایپ نموده و به منظور مشخص نمودن هر کدام از گزینه­ها.

 

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

 

» از مزایای این کار می توان به داشتن عملیات فیلتر قویتر اشاره نمود چون در بسیاری از موارد و بدلیل عدم دقت کاربران در تایپ، نتایج عملیات فیلترینگ، بصورت مورد انتظار نیستند و با استفاده از لیست در واقع شما یک یکسان سازی در عمل تایپ بعضی از فیلدها را فراهم آورده­اید.