آموزش کدنویسی در اکسل از صفر تا صد و نکات و ترفندها
در این مقاله به معرفی چند نکته و ایده جالب برای تقویت مهارت کد نویسی با اکسل یا زبان VBA می پردازیم، با ما همراه باشید.
10 نکته مهم در کد نویسی با اکسل
1-قبل از کد نویسی فکر کنید
بهترین راه برای حل یک مشکل بسیار پیچیده، فکر کردن است. دفعه بعد، وقتی می خواهید یک گزارش را خودکار کنید یا برخی از داده های وارد شده را با استفاده از VBA پاک کنید، سیستم منطقی انجام آن کار را روی کاغذ بنویسید. جنبه های مختلف مسئله را بررسی و درک کنید. جواب برای تان روشن می شود.
2- از یک ضبط کننده استفاده کنید
استفاده از ضبط کننده ماکرو موجود در اکسل یک روش عالی برای یادگیری اشیاء جدید و کار کردن با آن ها است. من همیشه از یک رکوردر برای ثبت بخش هایی از کد استفاده می کنم و سپس خروجی را سفارشی می کنم. فقط یادتان باشد که ضبط کننده ماکرو همیشه بهترین را تولید نمی کند یا این که همیشه کد را کامل نمی کند، اما ایده خوبی در مورد نحوه نوشتن کد به شما خواهد داد.
3- از پنجره آنی استفاده کنید
Excel VBE یک ویژگی قدرتمند به نام پنجره آنی دارد. این پنجره را مثل یک Sandbox تصور کنید. شما می توانید تقریبا هر عبارت VBA را در این جا بنویسید و نتایج فوری دریافت کنید. به طور مثال VBE در اکسل را باز کنید (کلید میانبر: Alt+F11) و به پنجره فوری بروید.
1-?Activecell.Value را تایپ کنید.
2-Enter را فشار دهید.
3- و در نهایت مقدار سلول فعلی را در پنجره فوری چاپ شده خواهید دید.
یک نسخه ی نمایشی سریع از پنجره فوری به این صورت است:
4- Debug.Print دوست تان است!
شما به عنوان یک برنامه نویس، هیچ وقت نمی توانید از اشکالات کدتان فرار کنید. باگ یا Bug همان ایرادی است که وقتی کد شما کاری که قرار است انجام دهد را انجام نمی دهد و دردسر درست می کند.
اما چرا؟!؟ خوب تا کد را بررسی نکنیم نمی فهمیم. اینجاست که Debug.Print می تواند مفید باشد. در مثال زیر، مقادیر تمام وظایف را در پنجره فوری هنگام اجرای برنامه تان مشاهده خواهید کرد.
5- حتما VBA اکسل روش یا متدی برای حل مشکل دارد!
درست همان طور که مایکروسافت می گوید برای هر چیزی یک متد وجود دارد، در مورد VBA هم همین طور است. در واقع VBA با متد ها و قابلیت های زیادی برای انجام بسیاری از کار ها ارائه شده است. شاید بهتر باشد مثلا قبل از نوشتن یک کد برای معکوس کردن یک متن، کار های مربوط به تقسیم بخشی از متن بر اساس جداکننده یا Delimiter و پیدا کردن تقاطع 2 محدوده را انجام بدهید؛ زیرا همیشه راه و روشی برای آن وجود دارد.
هر زمان که احساس کردید کدی را برای مشکلی می نویسید که قبلا چندین بار حل شده است، به احتمال زیاد متد یا شی داخلی برای آن وجود دارد. پس فقط جستجو کنید.
نکاتی برای بهره وری و تسلط بر VBA در طولانی مدت
با این که نکات بالا برای حل مشکلات فوری تان خوب و جوابگو است، اما همیشه باید به دنبال بهتر شدن باشید. در ادامه نکات اصلی که به تسلط شما در VBA کمک می کند را با هم بررسی می کنیم.
حتما بخوانید: آموزش کامل نوشتن فرمول ها در نرم افزار اکسل
6- کارتان را به بخش های کوچکتر تقسیم کنید
مهم نیست که موقعیت کاری یا مشکل شما چقدر پیچیده باشد، به احتمال زیاد، از چندین مشکل کوچک تر تشکیل شده است. پس بهتر است کار ها را به بخش های کوچک تر تقسیم کنید. این تکنیک کد گذاری به عنوان پودمانی کردن شناخته می شود. پودمانی یا پیمانه بندی کردن چند مزیت دارد:
- استفاده مجدد: وقتی که یک برنامه بزرگ را به قسمت های کوچکتر تقسیم می کنید، می توانید از یک قسمت کوچک تر در چندین مکان یا در پروژه های دیگر دوباره استفاده کنید.
- آزمایش پذیری: قطعات کد کوچک تر به راحتی قابل آزمایش و دیباگ کردن هستند.
- قابل نگهداری: می توانید بخش های کوچکتر را به راحتی نگهداری کنید. زمانی که نسخه بهتری از اکسل را دریافت کردید، می توانید آن ها را بدون دستکاریِ بیش از حد؛ توسعه دهید.
7- ویژگی های تکراری اضافه کنید
هر زمان که می خواهید کار کل یک بخش را خودکار کنید، یک قدم به عقب بردارید و ببینید کوچک ترین (اما مفیدترین) ویژگی که می توانید داشته باشید، چیست. آن را پیاده کنید و بعد ویژگی های جدید را به صورت تکراری اضافه کنید. به این ترتیب، زمان تکمیل کارتان کم تر می شود، به چشم رئیس تان کارآمدتر می آیید و احساس میکنید که کنترل همه چیز را در دست دارید!
با این آموزش اکسل صفر تا صد اکسل، رو توی کمترین زمان ممکن یاد بگیر.بهترین پک آموزش اکسل در ایران همین الان خرید و دانلود کنید!
توسعه مکرر همچنین به شما امکان می دهد تا هر زمان که بخواهید؛ متوقف شوید و هنوز هم مقداری کد داشته باشید که روی آن کار کنید.
8- یک مرجع خوب در دسترس داشته باشید
اگر می خواهید کدنویسی با اکسل را خوب یاد بگیرید، روی یک مرجع خوب سرمایه گذاری کنید. من برنامه نویسی قدرتمند اکسل 2010 جان والکنباخ را پیشنهاد می کنم. کتاب های مرجع خوب حاوی اطلاعات و نکات زیادی هستند. به طور مثال من کتاب برنامه نویسی Power Excel 2010 را همیشه روی میزم دارم و هر زمان که احساس کردم هیچ کاری نمی توانم انجام بدهم؛ به آن مراجعه می کنم.
9- از چالش ها با آغوش باز استقبال کنید
استیو جابز می گوید: ” کامپیوتر ها برای ذهن ما مثل دوچرخه هستند. ” مطمئن نیستم ساعت هایی که در فیسبوک، توییتر و جی میل می گذرانم باعث پرورش ذهنم خواهد شد یا خیر؛ اما زمانی که روی برنامه نویسی سرمایه گذاری می کنم هر ثانیه اش واقعا ارزشمند است.
من فکر می کنم اگر می خواهید در VBA یا Excel خوب و حرفه ای باشید، پس باید کار های چالش برانگیزی انجام بدهید. سعی کنید گزارشی که شما ( یا تیم تان ) با استفاده از VBA تولید می کنید را به صورت خودکار در بیاورید، سعی کنید یک فرمول را ساده سازی یا یک نمودار را بهتر و قابل فهم تر کنید.
10- فقط زمانی از VBA استفاده کنید که به آن نیاز دارید
وقتی که شروع به یادگیری VBA می کنید، طبیعی است که در مورد امکاناتی که دارید هیجان زده شوید. اما به خاطر داشته باشید که استفاده بیش از حد از این قابلیت ها می تواند کارتان را پیچیده تر کند.
پیشنهاد این است که تا حد امکان از ویژگی های بومی اکسل استفاده کنید. اکسل چندین ویژگی داخلی مثل قالب بندی شرطی، جداول محوری، فرمول ها، اعتبار سنجی داده ها، کنترل های فرم و… برای حل مشکلات متعدد روزمره دارد. فقط زمانی که احساس می کنید اکسل به تنهایی نمی تواند برای حل یک مشکل کمک تان کند، به سراغ VBA بروید.
ویدیوی آموزشی
اینها رو برای کدنویسی اکسل یاد بگیری تمامه!
اگر به دقت مطلب را خوانده باشید متوجه شده اید که اکسل نه تنها یک ابزار برای محاسبات و مدیریت دادهها است، بلکه با استفاده از کدنویسی اکسل که به وی بی اِی معروف است VBA (Visual Basic for Applications) به شما این امکان را میدهد که وظایف تکراری را خودکار کنید و ابزارهای پیشرفته ایجاد کنید. در ادامه این مطلب جذاب، مفاهیم و نکات ضروری برای شروع کار با VBA در اکسل به شکلی ساده و قابلدرک توضیح داده میشود.
VBA چیست؟
- VBA (Visual Basic for Applications) زبان برنامهنویسی داخلی در مایکروسافت آفیس است که به شما امکان میدهد وظایف پیچیده را خودکار کنید.
- با VBA میتوانید:
- ماکروهای خودکار بسازید.
- ابزارها و دکمههای سفارشی طراحی کنید.
- برنامههایی برای پردازش دادهها بنویسید.
چرا VBA را یاد بگیریم؟
- افزایش بهرهوری: وظایف تکراری را در چند ثانیه انجام دهید.
- قدرت بیشتر در اکسل: میتوانید کارهایی انجام دهید که با ابزارهای پیشفرض اکسل ممکن نیست.
- انعطافپذیری بالا: کدنویسی دقیق مطابق نیازهای خاص خود.
شروع کار با VBA در اکسل
۱. فعال کردن ابزار Developer
برای نوشتن و اجرای کدهای VBA، باید ابتدا تب Developer را در اکسل فعال کنید:
- روی File کلیک کنید > Options.
- به بخش Customize Ribbon بروید.
- گزینه Developer را انتخاب کنید و روی OK کلیک کنید.
۲. باز کردن محیط ویرایشگر VBA
- در تب Developer، روی Visual Basic کلیک کنید. یا کلید میانبر Alt + F11 را فشار دهید.
- پنجره VBA Editor باز میشود. اینجا جایی است که میتوانید کدهای خود را بنویسید.
اولین ماکرو: "سلام دنیا"
یک ماکرو ساده بنویسید که پیام "سلام دنیا" را نمایش دهد:
- در ویرایشگر VBA:
- Insert > Module را انتخاب کنید.
- کد زیر را وارد کنید:
- ماکرو را اجرا کنید:
- به اکسل بازگردید و از تب Developer روی Macros کلیک کنید.
- ماکرو SalamDonya را انتخاب و روی Run کلیک کنید.
خروجی:
یک پیام در اکسل نمایش داده میشود: "سلام دنیا!".
مفاهیم پایه در VBA
۱. زیرروالها (Sub)
- کدها در VBA معمولاً در قالب زیرروال (Sub) نوشته میشوند:
- یک زیرروال را میتوانید اجرا کنید تا دستورات آن انجام شود.
۲. متغیرها (Variables)
متغیرها برای ذخیره دادهها استفاده میشوند.
تعریف متغیر:
- Dim: برای تعریف متغیر استفاده میشود.
- As Integer: نوع داده متغیر را مشخص میکند.
۳. حلقهها (Loops)
حلقهها برای تکرار دستورات استفاده میشوند.
حلقه For:
۴. شرطها (If-Else)
برای بررسی شرایط و اجرای کدهای خاص.
۵. تعامل با سلولها
VBA میتواند دادهها را در سلولهای اکسل بخواند و بنویسد.
نوشتن در یک سلول:
خواندن از یک سلول:
کار با ماژولها و فایلها
۱. ذخیره فایلهای اکسل با VBA
برای ذخیره کدها، فایل اکسل را با فرمت Excel Macro-Enabled Workbook (.xlsm) ذخیره کنید.
۲. ساخت دکمه برای اجرای ماکرو
- به تب Developer بروید و روی Insert کلیک کنید.
- از بخش Form Controls، گزینه Button را انتخاب کنید.
- دکمه را روی صفحه ترسیم کنید و ماکروی موردنظر را به آن متصل کنید.
پروژههای ساده برای تمرین
-
ایجاد یک جدول ضرب: کدی بنویسید که یک جدول ضرب ۱۰×۱۰ در اکسل ایجاد کند.
-
تغییر رنگ سلولها بر اساس مقدار: اگر مقدار یک سلول بیشتر از ۵۰ بود، رنگ آن را سبز کنید.
-
ایجاد گزارش اتوماتیک: دادههای موجود در یک شیت را به شیت دیگری کپی کنید.
نکات مهم برای یادگیری بهتر VBA
- تمرین کنید: پروژههای کوچک بسازید و با کدها بازی کنید.
- از ضبط ماکرو استفاده کنید: کافیه در تب Developer، از ابزار Record Macro برای ضبط عملیات دستی خود استفاده کنید. بعد هم کد ضبط شده را بررسی کنید تا یاد بگیرید چگونه کار میکند.
- مطالعه مستندات: از مستندات رسمی VBA یا منابع آنلاین استفاده کنید.
- رفع خطاها: اگر خطایی در کد وجود داشت، از پنجره خطایابی در VBA Editor استفاده کنید.
حتما دانلود کنید: لیست ۵۰ تا از کاربردی ترین فرمول های اکسل
با سلام وتبریک سال نو ، برنامه آموزشی بسیار عالی هستش ومن در محیط کارم خیلی ازشون استفاده کردم ، فقط سوالی دارم وقتی جداول اکسل رو طراحی می کنم و ضبط ماکرو انجام میدم موقع که گزینه runرو میزنم کلیه فونت فارسی تبدیل به علامت ؟؟؟؟؟میشه اگه راهنمایی کنید ممنون میشم با تشکر
پاسخسلام لطفا در مورد مقدار دهی یک سلول از طریق سلول دیگر در اکسل هم کمک کنید
پاسخa1=20
a2
a3
حالا در سلول a3 میخوام که مقدار a1 را در a2 قرار دهم اما تابعش را نمیشناسم
سلام توضیح بیشتر می دید
سلام ی فایل اکسل برای خروج دارم که هر دفعه باید عدد بنویسم که ممکنه اشتباه بشه لطفا برنامه که هر بار خودش عدد بعدی بنویسه ک فایل اجرا بشه برام میفرستین
پاسخ