یکی از پیشرفته ترین امکانات آفیس که قابلیتهای فراوانی را در اختیار توسعه دهندگان فایلهای آفیس قرار میدهد، کدنویسی با VBA است. اصطلاح VBA مخفف عبارت Visual Basic for Application است. ویژوال بیسیک یا VB یک زبان برنامه نویسی بسیار ساده و محصول شرکت ماکروسافت است که در ابتدا نه برای کارهای تجاری بلکه برای آموزش برنامه نویسی به دانشجویان طراحی گردید ولی به سرعت جای خود را بین برنامه نویسان باز کرد تا جایی که همینک در مجموعه دات نت قرار دارد و با سی شارپ رقابت میکند.
VBA نیز همانطور که از نام آن پیداست، ورژن سادهتری از VB است که امکانات بسیار مختصری (نسبت به سایر زبانهای برنامه نویسی) را در اختیار کاربران آفیس قرار میدهد. استفاده از این زمینه کد نویسی در نرم افزار های Word, Excel, Access, PowerPoint, Outlook ممکن است.
هر چند استفاده از ابزارهای موجود در نرم افزارهای آفیس معمولا و در ۷۰ درصد مواقع جوابگوی نیازهای شما هستند، اما بعضاً مواردی پیش میآید که از حیطه قدرت این ابزار ها خارج است. در برخی از این موارد میتوانید نیازهای خود را با استفاده از کد نویسی VBA پوشش دهید.
در کنار اختیارات وسیعی که VBA در اختیار توسعه دهندگان آفیس قرار میدهد، و دقیقاً به دلیل همین افزایش قدرت، خطراتی را نیز متوجه استفاده کنندگان میکند. به عبارت ساده، با استفاده از vba همانطور که میتوان نیازهای زیادی را پوشش داد، میتوان کارهای خطرناکی مانند تغییر در فایلهای اصلی سیستم عامل، کلیدهای رجیستری، تنظیمات ویندوز و… را نیز انجام داد. به همین دلیل است که بصورت پیشفرض استفاده از فایلهای حاوی کدهای VBA در اکسل با محدودیت اجرا همراه است. لذا توصیه میشود حتی الامکان از ابزارهای معمول موجود در بسته آفیس برای پوشش نیازهای خود استفاده کنید و تا جایی که میتوانید فایلهای خود را به کدهای VBA آلوده نکنید.
با توجه به توضیحات فوق میتوان گفت برای آموزش VBA در اکسل از یک دیدگاه، به هیچ پیش زمینهای نیاز نداریم و میتوان بعنوان اولین قدم در یادگیری آفیس شروع به یادگیری VBA نمود. اما با توجه به محدودیتهای فوق الذکر، بهتر است کار با همه ابزارهای موجود در آفیس را یادبگیرید و سپس اقدام به یادگیری و استفاده از VBA کنید. یعنی اگر مثلا در نرم افزار اکسل کاری را با کمک power query میتوان انجام داد، بهتر این است که دست به دامن VBA نشویم، هرچند با استفاده از VBA میتوان همه کارهای همه ابزارهای موجود را انجام داد و بلکه چندین قدم هم فراتر از آن حرکت نمود و کارهایی را انجام داد که با هیچ یک از ابزارهای موجود نمیتوان انجام داد.
با توجه به همه موارد فوق، در این سری آموزشی قصد داریم با تاکید بر نرم افزار اکسل، کدنویسی در VBA را از ابتدا آموزش دهیم و گام به گام تا مرحلهای پیش رویم که بتوانیم برخی نیازهای خود را با استفاده از کدنویسی در اکسل برطرف کنیم. در مورد این سری آموزشی چند نکته قابل ذکر است:
۱- پیش فرض اولیه این سری آموزشی استفاده از آفیس ۲۰۱۶ ۶۴ بیتی و ویندوز ۱۰ است.
۲- مثالهای کد نویسی در نرم افزار اکسل مطرح میشود ولی اصول کلی آن برای استفاده در همه مجموعه آفیس یکسان است.
۳- بعنوان پروژه ابتدایی و حتی الامکان برای سایر مراحل آموزش، از فایل اکسل فاکتور فروشی که در سری ۵۰ قسمتی آموزش مقدماتی اکسل برای حسابداری خود آموزش دادم استفاده میکنم و همان را بعنوان مبنا و نقطه شروع قرار میدهم. البته فایل اکسل مربوط به این فاکتور در ضمن آموزشها و در کنار فایلهای ویدیویی در اختیار دوستان قرار خواهد گرفت اما برای خرید سری آموزشی ساخت فاکتور فروش و مبانی اکسل میتوانید از فروشگاه سایت اقدام به خرید نمایید.
۴- مجدداً تاکید میکنم که بهتر است حتی الامکان نیازهای خود را توسط سایر ابزارهای موجود در آفیس پوشش دهید و حتی به شخصه یادگیری VBA را مرقون به صرفه نمیدانم اما بهرحال آموزش را برای علاقه مندان ارائه مینمایم (ان شالله).
سخنی با فراگیران آموزش VBA در اکسل:
مدعی نیستم که دوره بی عیب و نقص و کاملی را برای شما فراهم کردهام و همچنین مدعی نیستم که بادگیری vba برای همه لازم است. اما تا جایی که در اینترنت و سایتهای آموزشی جستجو کردم، هیچ آموزشی از لحاظ جامعیت محتوا به آموزشی که در اینجا خدمت دوستان ارائه میکنم ندیدم (البته که عدم الوجدان لا یدل علی عدم الوجود). لذا اگر قصد یادگیری vba را دارید فکر نمیکنم آموزشی جامع تر از این آموزش بزبان فارسی پیدا کنید.
و اما بررسی محتوای آموزش VBA در اکسل در یک نگاه کلی:
1. فصل اول
1.1. قسمت 1: مقدمه ای بر vba
این قسمت کمی طولانی تر از چیزی شد که در ابتدا برنامه ریزی کرده بودم و شامل مباحث زیر است:
بررسی ضرورت یادگیری vba و اینکه چه پیشنیازهایی برای شروع فراگیری این دوره لازم است.
همچنین در این قسمت به بررسی اجمالی مباحث امنیتی موجود در فایلهای آفیس میپردازیم
در مورد پسوند فایلها اطلاعات مفید تری بدست میاورید و خواهید فهمید که چطور تغییر پسوند فایلهای آفیس از سال 2007 به بعد باعث افزایش امنیت در این فایلها میشود؟
لازم به ذکر است که قسمت اول این فصل رایگان است و میتوانید آنرا دانلود نموده و بررسی کنید تا شرایط گذراندن دوره را داشته باشید و ببینید اصولا این دوره برای شما مفید خواهد بود یا نه
1.2. قسمت 2: تنظیمات لازم برای شروع دوره
در این قسمت با تنظیماتی آشنا خواهیم شد که برای شروع کار لازم هستند. همانطور که میدانید (و در قسمت اول توضیح خواهم داد) برای افزایش امنیت برخی تنظیمات در آفیس وجود دارند که در این قسمت با این تنظیمات، تاجایی که برای کار ما مفید خواهند بود، آشنا میشویم.
1.3. قسمت 3: ضبط ماکروی نسبی و مطلق
در این قسمت جالب، به ضبط یک ماکروی نسبی و مطلق خواهیم پرداخت و نحوه ضبط این دو نوع ماکرو را با هم مرور خواهیم کرد. این ماکروها میتوانند کارهای تکراری شما را بنحو شایستهای انجام دهند و طرز کار آنها بستگی زیادی به کدهای vba دارد.
1.4. قسمت 4: ذخیره فایلهای حاوی ماکرو
در این قسمت راجع به نحوه ذخیره سازی فایلهای ماکرو و کدهای vba، مطالب لازم را فراخواهیم گرفت. همانطور که میدانید فایلهای حاوی ماکرو و کدهای vba نمیتوانند بصورت معمول و با پسوندهای xlsx ذخیره شوند، بلکه باید با پسوند xlsm ذخیره شوند تا بتوانند کدهای vba موجود در فایل را ذخیره کنند و در غیر این صورت کدهای vbaو ماکرو از دست خواهند رفت.
در نهایت و در پایان آخرین قسمت این فصل به برخی نکات مهم این فصل مجدداً اشاره میکنیم
2. فصل دوم: شیء گرایی
در این فصل با مفهوم بسیار بسیار مهم شیگرایی آشنا خواهیم شد. با این مفهوم بسیار مهم نه تنها در vba بلکه در سایر زبانهای برنامه نویسی جدید نیز سروکار خواهید داشت. فهمیدن شی گرایی به شما کمک میکند که درک بهتری از کدهای vba داشته باشید.
2.1. قسمت 1: آشنایی با محیط VBE
عبارت VBEمخفف visual Basic Editor است که نباید آن را با خود VBA اشتباه گرفت. همانطور که از نام آن مشخص است در این قسمت با محیط کد نویسی آشنا خواهیم شد. و قسمتهای مختلف آن را مرور خواهیم کرد.
2.2. قسمت 2: مدیریت ماژولها
ماژولها ابزاری بسیار خوب برای دستهبندی کدهای vbaشما هستند. در این قسمت فراخواهید گرفت که:
- چگونه آنها را ایجاد کنید.
- چگونه از آنها خروجی گرفته و در سیستم ذخیره کنید و
- چگونه مجدداً آنها را به (سایر) فایلهای خود وارد نمایید
2.3. قسمت 3: آشنایی با اشیاء
شاید بتوان گفت اصل این محتوای فصل از قسمت 3 شروع میشود. در این قسمت با شیء و چیستی آن آشنا میشوید.
- فکر میکنید شیء را میشناسید؟
- میتوانید آن را تعریف کنید؟
اگر جواب دو سوال بالا را برای محیط واقعی میدانید، خوشحال باشید که این تعاریف تقریباً در محیطهای برنامه نویسی هم (با کمی اختلاف) وجود دارند.
2.4. قسمت 4: خواص، رویدادها و متدها
در این قسمت و بعد از آشنایی مقدماتی با اشیاء به بررسی سه مفهوم بسیار کلیدیِ خواص properties، متدها Methods ، و رویدادها Events خواهیم پرداخت و اشیاء موجود در VBA را از این سه جهت با اشیاء دنیای واقعی مقایسه میکنیم.
همچنین با سلسله مراتب اشیا و روابط پدر و فرزندی بین آنها آشنا خواهیم شد.
2.5. قسمت 5: ارجاع به اشیاء
بعد از آشنایی مقدماتی با اشیا و خواص و رویدادهای آنها، نوبت به استفاده از آنها در محیط برنامه نویسی میرسد. در این قسمت با نحوه فراخوانی اشیاء در محیط کد نویسی آشنا خواهیم شد.
شما در دنیای واقعی نیز در واقع همین کار را میکنید. روی یک فرد نامی میگذارید و سپس برای فراخوانی آن از همان نام استفاده نموده و (اگر نام تکراری وجود داشته باشد، به همراه نام خودش نام پدر و جدش، یا فامیلش را نیز بکار میبرید مثلا «محمد بن زکریای رازی») با این فراخوانی مقاصد خود را در دنیای واقعی برآورده میکنیم.
حال قصد داریم ببینیم اشیائی که در دنیای برنامه نویسی داریم را چگونه باید فراخوانی نموده و از متدهای و رویدادهای آنها استفاده نماییم.
2.6. قسمت 6: منابع شناخت
قطعاً در یک آموزش ویدیویی نخواهیم توانست همه آنچه که شما در آینده به آن نیاز پیدا خواهید نمود را بیان کنیم. در این آموزش فقط سعی در این دارم که نکات و روشهای کلی را توضیح دهم و از جزییات آنهایی که به نظر پرکاربردتر و مهمتر هستند را بیان کنم. بنابراین حتماً بعد از دیدن این آموزش و در زمان کار عملی لازم خواهید داشت که نیازهای خود را از منابع دیگری تامین نمایید. بهترین منابع شناخت و رفع ایراد کدهای VBA در این قسمت بررسی شدهاند.
3. فصل 3: توابع و دستورالعمل ها
همه کدهایی که در VBAاز آنها استفاده میکنیم باید در یکی از دو قالبِ Function و Sub دسته بندی شوند. برای Function معادل «تابع» را بکار میبرم که معادلی شناخته شدهاست و برای Sub عبارت «دستورالعمل» را انتخاب کردهام که میترسم زیاد مورد استفاده قرار نگرفته باشد. هردوی این بستهبندیهای کد را تحت نام کلی روال Procedure میشناسیم که آنهم معادلی شناخته شدهاست.
3.1. قسمت 1: آشنایی با ایجاد توابع و دستورالعملها
در این قسمت یاد خواهیم گرفت که چطور یک روال ساده بسازیم. از آنجا که ساخت روالهای ساده برای مراحل بعدی آموزش مورد نیاز است در این قسمت به آن اشاره میکنیم اما وارد جزییات ساخت توابع و دستورالعملها نمیشویم و آنها را در فصد هفتم بررسی خواهیم کرد که درآنجا بصورت جزییتری با ساخت توابع و دستورالعملها آشنا خواهیم شد.
همچنین در این فصل با قواعد نامگذاری توابع و روالها آشنا خواهیم شد. و خصوصیات و متدها و رویدادهای اشیا را با توابع و دستورالعملها مقایسه میکنیم
3.2. قسمت 2: اولین تابع و دستورالعمل
اولین تابع و دستور العمل خود را، پس از آشنایی با نحوه ساخت آنها در قسمت قبل، در این قسمت خواهید ساخت.
3.3. قسمت 3: فراخوانی روالها
بعد از نوشتن یک روال (اعم از تابع یا دستورالعمل) باید بتوانیم آنرا اجرا کنیم. برای اجرای توابع دو راه وجود دارد که عبارتند از:
- استفاده در سایر توابع و دستورالعملها و
- استفاده در برگههای اکسل
اما برای اجرای دستورالعملها راههای زیادی وجود دارد (کمی کمتر از عدد نفوس خلایق) که در این قسمت به بررسی همه آنها خواهیم پرداخت.
یعنی بعد از این قسمت شما قادر خواهید بود که یک روال ساده را ایجاد کرده و آنرا اجرا کنید.
4. فصل 4: مفاهیم برنامه نویسی
برخی از مفاهیم اساسی برنامه نویسی در این فصل بحث میشوند. این مفاهیم حتی برای سایر زبانهای برنامه نویسی هم مهم و لازمند. مفاهیمی مانند متغیرها و ثوابت و .. در این فصل مورد بررسی قرار میگیرند.
4.1. قسمت 1: خوانایی کدها
اینکه شما بعد از نوشتن کدهای خود و بعد از گذشت مدتی، بتوانید آنها را بفهمید بسیار مهم است. علاوه بر شما ممکن است سایر همکاران شما نیز که در بخشهایی از کار پروژه شریک هستند، شاید لازم باشد که کدهای نوشته شده توسط شما را بشناشند.
در این قسمت چند نکته راجع به بحث بسیار مهم خوانایی کدها گفته خواهد شد که با رعایت آنها کدهای شما منظم تر و حرفهای تر به نظر میرسند.
4.2. قسمت 2: معرفی متغیرها
متغیرها بحث بسیار بسیارمهمی در یادگیری همه زبانهای برنامه نویسی (بدون استثنا) هستند. من به آنها ظرفهای داده میگویم. هیچ پروژة بزرگ و متوسطی وجود ندارد که در آن از متغیرها استفاده نشده باشد. اگر شما هنوز از متغیرها استفاده نکردهاید به این معنی است که فقط کارهای سطحی و بسیار کوچک را با کدهای خود انجام دادهاید.
در این قسمت با متغیرها و قواعد نامگذاری و اعلان آنها آشنا خواهید شد.
لازم به ذکر است که برای هر متغیر در VBA بهتر است قبل از استفاده ابتدا آنرا اعلان نماییم و نوع دادهای آنرا مشخص کنیم
البته VBA یکی از معدود زبانهای برنامه نویسی است که میتواند از متغیرها بدون اعلان آنها استفاده نماید اما استفاده از این قابلیت VBA به هیچ وجه توصیه نمیشود.
4.3. قسمت 3: انواع دادهای
برای هر متغیر بهتر است یک نوع دادهای مشخص نمایید. انواع مختلفی از داده در VBA پشتیبانی میشود که در این قسمت به بررسی آنها خواهیم پرداخت.
4.4. قسمت 4: عملگرها و تخصیص
بعد از اینکه یک متغیر را تعریف نمودید نوبت آن میرسد که به آن مقداری را نسبت دهید تا بتوانید از عملکرد اصلی آن استفاده کنید. اگر نمیخواهید به متغیر ها مقدار بدهید پس اصلاً چرا آنها را ایجاد کردهاید؟ و اگر میخواهید به آنها مقدار بدهید این قسمت را با دقت مشاهده کنید.
4.5. قسمت 5: محدوده و عمر متغیرها:
در قسمت قبل موفق شدید به متغیرهای خود مقادیری را تخصیص دهید. حال این مقادیر چقدر عمر دارند؟ و تا کجا مهمان شما هستند؟ در چه قسمتهایی از کدهای خود میتوانید از این متغیرها استفاده کرده و آنها را فراخوانی نمایید.
در این قسمت سعی میکنم جواب همه این پرسشها را بدهم.
4.6. قسمت 6: معرفی و آشنایی با ثوابت:
البته آشنایی و بکارگیری ثوابت به اهمیت آشنایی با متغیرها نیست اما بعد از یادگیری متغیرها در چند دقیقه میتوانید ثوابت را هم فرابگیرید.
فرض کنید یک مقدار ثابت را در چندین قسمت کدهای خود مورد استفاده قرارداده اید. مثلا نرخ مالیات را در چند فرمول بکار بردهاید. حال اگر بخواهید مقدار نرخ مالیات را تغییر دهید چه میکنید؟ آیا یک یک فرمولهایی که این نرخ در آنها استفاده شده را یافته و مقدار آنها را تغییر میدهید؟ با استفاده از ثابتها نیازی به این عملیات تکراری و زمانبر نیست. یک ثابت را به همراه مقدار آن تعریف میکنید و سپس در همه فرمولها از آن استفاده میکنید. اگر هم نیازی به تغییر بود فقط کافی است که مقدار ثابت را تغییر دهید.
4.7. قسمت 7: آشنایی با آرایهها
در این قسمت با آرایهها آشنا خواهید شد. همه زبانهای برنامه نویسی از آرایهها پشتیبانی میکنند و VBAهم از این قاعده مستثنی نیست. آرایه ها مجموعهای از متغیرهای همنوع هستند که در یک بسته قرار دارند. آرایهها در واقع همان ماتریسها هستند که در ریاضیات زیاد با آنها کار کردید و همانند آنها میتوانند دارای ابعاد مختلف باشند اما تاکید ما در این مجموعه بیشتر بر آرایه تک بعدی است.
5. فصل 5: آشنایی با اشیای مهم اکسل
بعد از همه دردسرهایی که در مورد کلیت VBAکشیدیم نوبت به استفاده از آن در اکسل میرسد. فصلهای قبلی حالت کلی داشتند و میتوانستیم از آنها در اکسس و ورد و … هم استفاده نمود اما از این فصل بحث تخصصی شده و فقط مربوط به اکسل خواهد بود.
در این فصل برخی از مهمترین و پر استفادهترین اشیا اکسل را در محیط VBAبررسی میکنیم و سعی میکنیم با اهم خواص و رویدادها و متدهای هرکدام آشنا شویم. این فصل به مثابه آجرهای ساخت برنامه های کاربردی با فایلهای اکسل است و میتوانید از این آجرها برای کار بر روی برنامههای آینده خود استفاده کنید. البته همانطور که میدانید آجر به تنهایی برای ایجاد یک بنای محکم کفایت نمیکنند.
5.1. قسمت 1: بررسی خواص مهم شی Application
در این قسمت به برخی خواص مهم شی Application اشاره خواهم کرد.
5.2. قسمت 2: بررسی متدهای مهم شی Application
در این قسمت به برخی متدهای مهم شی Application اشاره خواهم کرد.
منظور از شی Application درواقع فایل اجرایی اکسل است که با آن کار میکنیم. اپلیکیشن چیزی است غیر از فایلهای اکسل و میتواند به تنهایی چندین فایل اکسل را باز کند. اما با بستن آن همه فایلهای اکسل بازشده بسته میشوند.
5.3. قسمت 3: آشنایی با خواص و متدهای مهم شیء WorkBooks
منظور از Workbooks همانطور که در آموزش بیان شده است، یک کالکشن از Workbook ها است. وقتی میگوییم Workbooks دقت کنید که آن را با خود اپلیکیشن اشتباه نگیرید چرا که ورکبوک ها هم شامل تعدادی فایل اکسل هستند اما این فایلها میتواند باز یا بسته باشند و این فقط یک افراز منطقی است.
از آنجا که ما معمولا زیاد با مجموعه فایلها (بما هو مجموعه) عملی را انجام نمیدهیم مجوعه خواص رویدادهای آنها نیز بسیار محدود است که من باز هم آنرا محدودتر کردم.
در این قسمت به برخی خواص و متدهای مهم شی WorkBooks اشاره خواهم کرد.
5.4. قسمت 4: آشنایی با برخی خواص مهم شیء WorkBook
همانطور که گفتم مجموعه ورکبوکها شامل تعدادی فایل اکسل است که در این قسمت راجع به خواص یکی از آنها بررسی خواهیم نمود. هر workbook شامل تعدادی برگه و نمودار و … است. در این قسمت به برخی خواص مهم شی WorkBook اشاره خواهم کرد.
5.5. قسمت 5: آشنایی با برخی متدهای مهم شیء WorkBook
در این قسمت به برخی متدهای مهم شی WorkBook اشاره خواهم کرد.
5.6. قسمت 6: آشنایی با رویدادهای مهم شیء WorkBook
در این قسمت به برخی رویدادهای مهم شی WorkBook اشاره خواهم کرد.
5.7. قسمت 7: آشنایی با خواص و متدهای مهم شیء WorkSheets
در این قسمت به برخی خواص و متدهای مهم شی WorkSheets اشاره خواهم کرد.
منظور از WorkSheets همانطور که در آموزش بیان شده است، یک کالکشن از WorkSheet ها است. در این قسمت به تعریف Worksheets و بررسی تفاوت آن با Sheets خواهیم پرداخت.
5.8. قسمت 8: آشنایی با خواص مهم شیء WorkSheet
در این قسمت به برخی خواص مهم شی WorkSheet که یکی از اشیا موجود در مجموعه Worksheets است اشاره خواهم کرد. هر Worksheet در واقع یک برگه از برگههای موجود در فایل اکسل است.
5.9. قسمت 9: آشنایی با متدهای مهم شیء WorkSheet
در این قسمت به برخی متدهای مهم شی WorkSheet اشاره خواهم کرد.
5.10. قسمت 10: آشنایی با رویدادهای مهم شیء WorkSheet
در این قسمت به برخی رویدادهای مهم شی WorkSheet اشاره خواهم کرد.
5.11. قسمت 11: آشنایی با برخی خواص مهم شیء Range
مهمترین و پرکاربردترین شی موجود در اکسل همین شی Range است که در این قسمت به برخی خواص مهم شی Range اشاره خواهم کرد. هر شی رنج زیر مجموعه یک برگه است که خود میتواند شامل چندین سلول باشد.
5.12. قسمت 12: آشنایی با برخی متدهای مهم شیء Range
در این قسمت به برخی متدهای مهم شی Range اشاره خواهم کرد.
6. کنترل روند اجرای کد
اگر دستورات این قسمت را فرا نگیرید کدهای شما همواره و در یک روال جبری از بالا به پایین اجرا میشوند و شما هیچ کنترلی بر روال اجرای کدها ندارید. اما بسیار پیش میآید که بخواهید یک یا چند خط از کدهای برنامه خود را فقط در شرایط خاصی اجرا کنید و یا قسمتهایی خاص از کدها را چندین بار اجرا کنید. برای انجام این امور دستورات بسیار بسیار مهم این قسمت را فرابگیرید.
6.1. قسمت 1: آشنایی با دستور IF
در این بخش با دستور IF آشنا خواهید شد. اگر با اکسل کار کرده باشید با اهمیت این دستور آشنا هستید و باید بگویم که دستور IFدر VBA حتی از کاربرد آن بصورت تابع در خود اکسل هم بیشتر است.
در واقع هر جا بخواهید بخشی از کدهای شما در صورتی اجرا شود که شرط خاصی صادق باشد میتوانید از دستور IF استفاده نمایید.
سادهترین شکل دستور IF را در این قسمت بررسی خواهیم نمود
6.2. قسمت 2: استفاده از عملگرهای منطقی در IF
در این قسمت سعی میکنم همزمان با استفاده از دستور IF بتوانیم از عملگرهای منطقی مانند AND و Or نیز استفاده نماییم. همانطور که در قسمت قبل عنوان کردم دستور IF فقط یک شرط را بررسی میکند و اگر بخواهیم شرایط بیشتری را بسنجیم باید آنها را با استفاده از عملگرهای منطقی با هم ترکیب کنیم.
6.3. قسمت 3: IF Else
از این دستور زمانی استفاده میکنیم که بخواهیم بخشی از کدها در صورت صادق بودن شرط اجرا شوند و بخش دیگری از کدها درصورتی اجرا شوند که همان شرط کاذب باشد.
6.4. قسمت 4: ElseIf
استفاده از دستورات IF بصورت تو در تو به این نحو ممکن میشود. در واقع با استفاده از این نوع دستور IF میتوان مرحله به مرحله شروطی را تست نمود و فقط در صورت کاذب بودن آنها به مرحله بعدی رفته و شروط جدیدی را تست کرد و در هر مرحله در صورت وجود شرط دستورات خاصی اجرا شده و از تابع خارج میشویم.
6.5. قسمت 5: Select Case
دستور ElseIF هر چند کار راهانداز بود و سرعت خوبی داشت اما خوانایی برنامه را با مشکل مواجه میکرد و فهم کدهای نوشته شده مشکل میشد. برای این منظور و تقریباً بعنوان جایگزین میتوان از دستور Select Case استفاده نمود. این دستور مقدار یک متغیر را بررسی نموده و در صورتی که برابر با مقادیر خاصی باشد کدهای خاصی را اجرا میکند.
6.6. قسمت 6: حلقه تکرار For Next
نوبتی هم که باشد نوبت استفاده از حلقهها است. حلقههای تکرار در واقع قسمتی از کد های شما را چندین بار تکرار میکنند. در این خصوص حلقه For next به دفعات معینی کدهای شما را تکرار میکند
6.7. قسمت 7: حلقه تکرار بصورت For Next بصورت آبشاری
وقتی چند حلقه For Next را بصورت تو در تو استفاده نماییم دفعات اجرای آنها به مراتب بیشتر از استفاده متوالی آنها خواهد بود. از این نوع حلقهها در مواردی استفاده میشود که هریک از انتخابهای مورد برسی خود شامل شقوق دیگر باشند. مثلا میخوهیم همه بیست ردیف و در هر ردیف 12 ستون را مقدار دهی کنیم
6.8. قسمت 8: حلقه For Each-Next
نوع دیگری از حلقه ها که زیاد مورد استفاده قرار میگیرد حلقه For each نام دارد. این حلقه کدهای موجود در خود را به تعداد اشیای موجود در یک مجموعه تکرار میکند. مثلا به تعداد سلولهای موجود در یک بازه یا برگه های موجود در یک Workbook
6.9. قسمت 9: حلقههای Do-While و Do-Until
دو نوع دیگه حلقه در این قسمت بررسی میشوند که هر یک شرطی مخالف دیگری میگیرند. حلقه Do-While تا زمانی به تکرار ادامه میدهد که شرط تعریف شده برای آن درست باشد و برعکس آن حلقه Do Until تا زمانی به اجرا ادامه میدهد که شرط تعریف شده برای آن غلط باشد.
دقت کنید که اگر حالت شرط در بین اجرای این دو دستور تغییر نکند در واقع دچار اجرای یک حلقه بینهایت خواهیم شد
دوره های مرتبط
کار بر روی شیت ها با VBA
برخی از مواردی که در این مجموعه یاد خواهیم گرفت:
1- اضافه کردن شیت (تکی و چندگانه)
2- اضافه کردن شیت براساس محتویات یک ناحیه
3- درج نام شیت ها در یک محدوده
4- تغییر نام شیت انتخابی
5- نمایش نام شیت ها در فرم
6- مخفی کردن یک یا چند شیت
7- پنهان کردن ریبون اکسل
آموزش ساخت داشبورد حرفه ای در ۲۰ دقیقه
در این مجموعه آموزشی از یک ترفند جالب برای نمایش نمودار ستونی استفاده شده ، در این نمودار برخی عناصر مانند محور افقی، محور عمودی، لیبل ها و …. حذف شده اند و به جای آنها در زیر هر کدام از ستونهای نمودار از مقادیر مربوط به آن آیتم استفاده شده ، به عنوان مثال در این آموزش به بررسی هزینه های آب،برق، گاز، تلفن و اینترنت یک شرکت پرداخته ایم که در آن از لوگو شرکتهای سرویس دهنده استفاده شده
همچنین شما در این نمودار با اسکرول کردن می توانید دیگر اطلاعات را مشاهده کرده و به بررسی تک تک آنها بپردازید.
سررسید به سبک اکسل
[fusion_builder_container type=”flex” hundred_percent=”no” equal_height_columns=”no” menu_anchor=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” class=”” id=”” background_color=”” background_image=”” background_position=”center center” background_repeat=”no-repeat” fade=”no” background_parallax=”none” parallax_speed=”0.3″ video_mp4=”” video_webm=”” video_ogv=”” video_url=””…
آموزش PowerPivot
آموزشی که در این بخش در اختیار شما قرار داده شده، بخش اول PowerPivot می باشد که جزئی از آموزش های هوش تجاری توسط اینجانب می باشد، آموزش هایی نظیر : Power View ، Power Query و Power BI
در بخش اول شما با این افزونه آشنا شده و فرا خواهید گرفت که چگونه داده ها را چندین منبع مختلف وارد پنجره PowerPivot کنید و بین آنها ارتباط برقرار کرده و براساس ارتباطات بوجود آمده گزارش های خود را تهیه کنید.
نکته ای که وجود دارد این است که PowerPivot یک ابزار بین داده های خام و گزارش های شماست که قراراست توسط PivotTable و Power View ایجاد شوند.
نمودار نقشه درختی یا Treemap
بسته آموزشی نمودار Treemap
یکی از نمودارهای جدید در نسخه 2016 اکسل نمودار Treemap می باشد که با استفاده از آن می توان شکل درختواره ای اطلاعات را در قالب یک نمودار و به شکل یک نقشه ترسیم کرد.
به عنوان مثال در سیستم فروش یک شرکت داده های فروش براساس استان و محصولات دسته بندی شده اند، مثلا در هر استان مشخص شده که چه محصولی و به چه میزان به فروش رسیده که یک شکل شاخه ای خواهد داشت، به این دلیل که یک محصول در تمام استان ها به فروش رفته است.
حال فرض کنید می خواهیم اطلاعات فروش را به گونه ای روی نمودار ترسیم کنیم تا استانی که بیشترین میزان فروش را داشته تا استانی الی استانی که کمترین میزان فروش را داشته مرتب شود و از همه مهمتر اینکه درون هر استان محصولی که بیشترین میزان فروش را داشته تا محصولی که کمترین میزان فروش را داشته مرتب شود.
توضیحات بالا را به خاطر داشته باشید و نحوه ترسیم این نمودار را با ما در این مجموعه آموزشی دنبال کنید
مطمئنا با ارائه این نمودارها به مدیر خود آنها را حیرت زده خواهید کرد و جایگاه خود را در سازمان یا شرکت تثبیت کرده و حتی منجر به ارتقاء شغلی خواهد شد.
و اما آموزش هایی که در این بسته ارائه شده شامل موارد زیر می باشد:
1 – معرفی نمودار Treemap و اینکه داده ها را چگونه در اکسل جهت معرفی به این نمودار وارد کنید.
2 – استفاده جهت ترسیم صورت وضعیت مالی (ترازنامه)
3 – استفاده جهت ترسیم میزان فروش محصولات در قالب یک نقشه راهنمای کلی
امتیاز دانشجویان دوره
نظرات
650,000 تومان
Danialramiz34( خریدار محصول )
بسیار عالی و مفید
حسین صابری(مدیریت)
ممنون از لطف شما
محمد نصیری رضی
بسته آبی و زرد چه تفاوتی با هم دارند
حسین صابری(مدیریت)
سلام
مدرسها متفاوت هستند
به نظر خودم (که مدرس بسته آبی هستم) بسته آبی زمان کمتری تدریس شده و ساختار مناسبتری داره و بسته زرد زمان بیشتری میخواد و مباحث رو تقریباً کامل گفته.
به نظرم برای شروع کار بسته آبی مناسبتره و برای تمرین بیشتر و آموزش عمقی تر مجموعه زرد
حسین صابری(مدیریت)
ممنون از لطف شما
rbehnam09( خریدار محصول )
محصول خوب وویژه ای مخصوصا برای دوستان حسابدار میباشد
تشکرات فراوان ازاساتیدگرامی
Mousa Paseban
سلام،ساخت فرم هم دارد زمان آموزش چقدر است
حسین صابری(مدیریت)
زمان آموزش مشخص است
در قسمت اطلاعات بیشتر درج شده 6 ساعت
سرفصلهای آموزش هم مشخص است و ساخت فرم ندارد