Visual Basic for Applications (VBA) یک زبان برنامهنویسی قدرتمند است که در نرمافزارهای مایکروسافت آفیس، از جمله اکسل، استفاده میشود. با آموزش VBA در اکسل میتوانید کارهای تکراری را خودکار، فرآیندها را بهینهسازی کنید و قابلیتهای اکسل را گسترش دهید. در این مقاله به شما نشان خواهیم داد که چگونه از مبتدی تا سطح پیشرفته در VBA اکسل مهارت کسب کنید.
در این مطلب میخوانید
مبانی آموزش VBA در اکسل
در وبسایت hubspot در تعریف VBA چنین نوشته شده است:
Visual Basic for Applications (به اختصار VBA) یک زبان برنامهنویسی است که میتوان از آن در تمام برنامههای رایج Microsoft Office برای گسترش عملکردهای برنامهها استفاده کرد. آموزش برنامهنویسی vba در اکسل بهویژه برای خودکارسازی اقدامات تکراری مؤثر است.
با VBA اکسل چه کاری میتوانید انجام دهید؟
VBA در اکسل زمانی مفید است که یک کار زمان زیادی میبرد یا باید بارها تکرار شود. با آموزش برنامه نویسی در اکسل میتوانید مراحل کار را در اکسل خودکارسازی کنید، ابزارهای اکسل ویژه مانند یک تولیدکننده فاکتور بسازید یا نمودارها، جداول و سایر عناصر را بین اکسل و برنامههای دیگر همگامسازی کنید.
برنامهنویسی VBA: چه زمانی ارزش تلاش را دارد؟
قبل.از اینکه حتی به VBA فکر کنید، این سوال مطرح میشود که واقعاً چه زمانی استفاده از آن منطقی است؟
یک قانون کلی این است که اگر نیاز دارید کاری را سه بار انجام دهید، روش دستی سریعتر است؛ ولی اگر نیاز دارید کاری را صد بار انجام دهید، VBA سرعت واضحی به کار شما میدهد.
بنابراین اگر میخواهید کارهای روتین کلاسیک (مانند قالببندی یک جدول یا ایجاد یک فاکتور) را کارآمدتر کنید، برنامه نویسی با VBA قطعاً بهترین تصمیم است. بااینحال، کد برای بازیابی دادهها کمتر مناسب است. اگر، بهعنوانمثال، میخواهید گزارشهایی از منابع مختلف ایجاد کنید، باید از Power Query استفاده کنید.
یادگیری یا خرید VBA اکسل؟
مبانی VBA برای کسی که کاملاً مبتدی نیست، قابلانجام است؛ اما پروژههای پیچیده میتوانند بهسرعت به یک کار سنگین تبدیل شوند و زمان زیادی از شما طلب کنند. بااینحال، تعدادی ابزار وجود دارد که از قبل آماده هستند و میتوانید آنها را بهسادگی خریداری کنید. بهویژه وقتی صحبت از کارهایی میشود که روزانه هستند و برای تعداد زیادی از افراد اهمیت دارند، احتمال زیادی وجود دارد که بتوانید برنامههای مناسب برای کار خود را پیدا کنید.
آموزش تصویری برنامه نویسی در اکسل
آموزش صفرتاصد VBA در اکسل نیاز به گذراندن یک دوره جامع آموزش اکسل دارد؛ اما برای اینکه مقدمات کار را یاد بگیرید، این آموزش تصویری برنامه نویسی در اکسل را برای شما فراهم کردهایم تا بتوانید دید خوبی از آن به دست بیاورید.
فعالکردن VBA اکسل: تنظیم تنظیمات برای ویرایشگر Visual Basic
قبلاز شروع آموزش VBA در اکسل، ابتدا باید تنظیمات خاصی انجام دهید. اولین قدم انتخاب تب “Developer Tools” در ناوبری است. برای افزودن این مورد به ناوبری، مراحل زیر را دنبال کنید:
- در صفحه گسترده اکسل خود، روی File > Options (در مک: Excel > Preferences) کلیک کنید.
- اکنون “Customize Ribbon” را انتخاب کنید و “Developer” را تیک بزنید.
پساز کلیک روی “Ok”، تب در ناوبری بالا ظاهر میشود.
پساز انجام تنظیمات میتوانید به آیتم “Developer Tools” دسترسی پیدا کنید.
برای بازکردن ویرایشگر VBA، روی دکمه “Visual Basic” کلیک کنید یا کلید Alt + F11 را فشار دهید. اکنون یک پنجره جداگانه باز میشود که برای برنامهنویسی استفاده میشود.
اکسپلورر پروژه در سمت چپ لیستی از جداول و صفحات گسترده شما را نشان میدهد. برای ویرایش کد برنامه باید روی صفحه گسترده مربوطه دوبار کلیک کنید. ویرایشگر برنامه باز میشود.
کنون در ویرایشگر VBA میتوانید بلوکهای ساختمانی جداگانه را برای تابع خودکارسازی خود وارد کنید.
آموزش VBA در اکسل: آنچه باید در مورد ساختار بدانید
برای اینکه بتوانید ماکروهای اکسل خود را در ویرایشگر Visual Basic بنویسید، ابتدا باید ساختار سلسله مراتبی برنامههای Office را درک کنید. این درک برای استفاده صحیح از نحو و درک دستورات فردی در کد برنامه ضروری است.
مهمترین اصطلاح در اینجا مدل شیء (Object model) است. اکسل و سایر برنامههای Office مبتنی بر اشیاء هستند. برنامهنویسی مبتنی بر شیء را میتوان در سایر زبانهای برنامهنویسی هم یافت.
ایده اصلی این است که یک برنامه برای زبان برنامهنویسی مربوطه بهعنوان یک شیء درنظر گرفته میشود که از اشیاء فرعی تشکیل شده است. در مورد VBA، اکسل یک شیء است که از صفحات گسترده، جداول، سلولها یا نمودارها تشکیل شده است. برای مثال، موارد زیر در دسترس هستند:
- Application = Excel
- Workbook = workbook
- Worksheet = spreadsheet
- Range = cell range
این اشیاء بهنوبه خود مجهز به خواص و متدهای خاصی هستند. بهعنوانمثال، جداول دارای نام، فونت یا موقعیت خاص، محتوا یا اندازه هستند. اگر میخواهید مقداری را به شیء Worksheet اضافه کنید، از متد Value = “XY” استفاده کنید.
علاوهبراین، متغیرهای مختلفی در VBA وجود دارد که باید با یک نوع داده مشخص شوند. بهعنوانمثال:
- String = Text
- Byte = integer (0 to 255)
- Date = Date
- Variant = بستگی به محتوا دارد
همچنین از متغیرها میتوان برای محاسبات مانند معادلات ریاضی استفاده کرد. علاوهبر جمع، تفریق، تقسیم و ضرب، عملگرهای مقایسه یا عملگرهای منطقی (صحیح یا غلط) هم امکانپذیر است.
مهمترین دستورهای VBA اکسل
کتابخانههای آنلاین مروری بر رایجترین دستورات VBA ارائه میدهند. بااینحال، قبلاز اینکه شروع به حفظکردن آنها کنید، مخصوصاً باید این سه دستور را بدانید:
If-Then-Else
حلقههای If-Then در زبانهای برنامهنویسی رایج هستند و برای تنظیم شرایط استفاده میشوند. اگر شرط تنظیمشده با If صحیح باشد، دستورات بعدی بهطور خودکار اجرا میشوند. درغیراینصورت، دستور دیگری آغاز میشود.
For-Next
دستورات For-Next فرمانها را تا زمانی که در کد مشخص شده است، اجرا میکنند. پساز رسیدن به مقدار، دستور بعدی شروع میشود.
Do Loop
با Do میتوانید کدهایی را شروع کنید که تا زمانی که نتیجه خاصی رخ دهد، تکرار میشوند. از مقادیر While و Until میتوانید بهعنوان یک حلقه (loop) استفاده کنید. تا زمانی که نتیجه While نادرست باشد، اجرا میشود، Until بهمحض درستبودن عبارت، پایان مییابد.
مثالهای VBA اکسل: خودتان ماکروهای ساده بنویسید
ماکروهای اکسل زیادی وجود دارد. اغلب شما حتی نیازی به نوشتن آنها ندارید، بلکه میتوانید از قالبهای مختلف استفاده کنید.
ساختار اصلی یک ماکرو VBA به شکل زیر است:
Sub NomeMacro()
کد شما اینجا قرار میگیرد’ ‘
End Sub
برای نوشتن اولین برنامه خود میتوانید از یک پیام ساده شروع کنید:
Sub HelloWorld()
MsgBox “سلام دنیا!”
End Sub
یکی از مهمترین جنبههای VBA در اکسل، توانایی کار با سلولها و محدودههاست. برای مثال:
Sub WorkWithCells()
‘ نوشتن در یک سلول’
Range(“A1”).Value = “سلام”
‘ خواندن مقدار یک سلول’
Dim cellValue As String
cellValue = Range(“B1”).Value
‘ کار با محدودهای از سلولها’
Range(“C1:C5”).Value = 10
End Sub
برای انجام عملیات تکراری و تصمیمگیری در کد، از حلقهها و شرطها استفاده میکنیم:
Sub LoopsAndConditions()
Dim i As Integer
حلقه ‘ For ‘
For i = 1 To 10
Cells(i, 1).Value = i
Next i
شرط ‘ If ‘
If Range(“A1”).Value > 5 Then
MsgBox “مقدار بزرگتر از ۵ است”
Else
MsgBox “مقدار کوچکتر یا مساوی ۵ است”
End If
End Sub
توابع و زیرروالها به شما امکان میدهند کد خود را سازماندهی کنید و قطعات قابلاستفاده مجدد بسازید:
Function CalculateSum(a As Integer, b As Integer) As Integer
CalculateSum = a + b
End Function
Sub UseFunction()
Dim result As Integer
result = CalculateSum(5, 3)
MsgBox “مجموع: ” & result
End Sub
اضافهکردن سلولها با قالببندی یکسان
کد برنامه زیر تمام سلولها را با رنگ یکسان اضافه میکند. بااینحال، میتوانید از قالببندی دیگری هم استفاده کنید.
Function ColorSum(Range As Range)
Application.Volatile
Color sum = 0
For Each cell In Range
If cell.Font.ColorIndex = 3 Then
Color sum = color sum + cell.Value
EndIf
Next
EndFunction
شاید برای شما جالب باشد که بدانید در اکسل میتوانید سطرهای خالی را حذف کنید. برای این کار طبق آنچه که در وبسایت ۲۴ وب لرن در مقاله آموزش حذف سطر و ستون در اکسل گفته شده است: ابتدا سطرهای خالی را با کلید Ctrl انتخاب کنید. سپس روی شماره سطرها کلیکراست و گزینه Delete را انتخاب کنید». این روش دستی برای حذف سطرهای خالی است.
چگونه در دنیای اکسل به یک متخصص حرفهای تبدیل شوید؟
اگر میخواهید به آموزش VBA پیشرفته در اکسل دسترسی پیدا کنید و با تبدیلشدن به یک برنامهنویس حرفهای اکسل در بازار کار این حرفه بدرخشید، از صفحه محصول آموزش اکسل برای کار در شرکت وب لرن دیدن کنید. این دوره آموزشی از برترین آموزشهای اکسل Udemy الگوبرداری شده است و شما را از سطح مقدماتی به یک متخصص اکسل تبدیل میکند.
در این دوره، شما با:
- نکات و ترفندهای حرفهای اکسل؛
- پروژههای عملی و کاربردی؛
- فرمولنویسی قدرتمند؛
- کار با Pivot table و ساخت جداول حرفهای؛
- برنامهنویسی با Macro؛
- و بسیاری موارد دیگر؛
آشنا خواهید شد که به شما کمک میکند تا یک متخصص واقعی در زمینه VBA و اکسل شوید.
این دوره بیشاز ۹ ساعت محتوای آموزشی با کیفیت بالا در ۱۸ ویدیو ارائه میدهد و شما دسترسی مادامالعمر به تمام فایلها و بهروزرسانیها خواهید داشت. علاوهبراین، از پشتیبانی دائمی برخوردار خواهید بود تا در طول یادگیری خود با اطمینان پیش بروید.
با قیمت ویژه ۱۹۹,۰۰۰ تومان (به جای ۴۹۹,۰۰۰ تومان)، این فرصت استثنایی را از دست ندهید و همین امروز در این دوره جامع و حرفهای ثبتنام کنید. مطمئن باشید که این سرمایهگذاری در آموزش، راه شما را برای موفقیت در بازار کار اکسل هموار خواهد کرد.
برای کسب اطلاعات بیشتر و ثبتنام در دوره، همین حالا به صفحه محصول مراجعه کنید و قدم اول را برای تبدیلشدن به یک متخصص اکسل بردارید!
منابع: blog.hubspot.de
سوالات متداول
- آیا برای یادگیری VBA در اکسل نیاز به تجربه قبلی در برنامهنویسی دارم؟
خیر، شما میتوانید بدون تجربه قبلی در برنامهنویسی، VBA را یاد بگیرید. بااینحال، داشتن درک پایه از مفاهیم برنامهنویسی میتواند به شما کمک کند سریعتر پیشرفت کنید.
- آیا VBA فقط در اکسل کاربرد دارد؟
خیر، VBA در سایر برنامههای مایکروسافت آفیس مانند Word، PowerPoint و Access هم استفاده میشود. بااینحال، هر برنامه ویژگیها و توابع خاص خود را دارد.
- چگونه میتوانم از کد VBA خود در برابر ویروسها و بدافزارها محافظت کنم؟
برای محافظت از کد VBA خود، همیشه از منابع معتبر کد دانلود کنید، از آنتیویروس بهروز استفاده کنید و قبل از اجرای ماکروهای ناشناس، آنها را بررسی کنید. همچنین، استفاده از رمزگذاری برای محافظت از کد VBA توصیه میشود.
کلام آخر
آموزش VBA در اکسل ابزاری قدرتمند برای افزایش بهرهوری و خودکارسازی وظایف پیچیده است. با تمرین و تجربه میتوانید مهارتهای خود را در این زمینه توسعه دهید و راهحلهای خلاقانه برای چالشهای کاری خود بیابید.
مقاله خوبی بود اما موضوع vba در اکسل انقدر موضوع گسترده ای است که واقعا در یک مقاله نمیگجه. خواستم ببینم شما در آینده دوره آموزش vba در اکسل برگزار می کنید یا خیر چون این زبان برنامه نویسی امکانات زیادی در اکسل در اختیار ما میذاره
با درود فراوان دوست عزیز
بدون شک در آینده یک دوره جامع برای آموزش کدنویسی VBA ارائه خواهیم کرد.