مجموعه‌ای از نمونه کدهای برنامه‌نویسی برای فایل اکسل (کتابخانه ماکرو اکسل VBA)


در دنیای امروز، برنامه‌نویسی و اتوماسیون در اکسل نقش بسیار حیاتی و کلیدی ایفا می‌کند، به‌خصوص زمانی که نیاز به انجام وظایف تکراری، سریع‌تر و دقیق‌تر باشد. در این راستا، زبان برنامه‌نویسی VBA (Visual Basic for Applications) که در داخل نرم‌افزار اکسل تعبیه شده است، ابزاری قدرتمند برای توسعه ماکروها و اسکریپت‌های خودکار است. این مجموعه از نمونه کدهای برنامه‌نویسی، در قالب کتابخانه‌های VBA، به کاربرانی که قصد دارند کارهای پیچیده و تکراری را با کمترین خطا و زمان، انجام دهند، کمک می‌کند.
در ادامه، به صورت جامع و کامل، به معرفی و شرح این نمونه کدها می‌پردازیم، از جمله مواردی مانند ایجاد، اصلاح، حذف داده‌ها، کنترل صفحات، کار با فایل‌های خارجی، و حتی ساخت فرم‌های تعاملی، که همگی در قالب کدهای VBA نوشته شده‌اند و می‌توانند در پروژه‌های مختلف مورد استفاده قرار گیرند.
۱. ایجاد و مدیریت صفحات و ردیف‌ها در اکسل
یکی از پایه‌ترین وظایف در برنامه‌نویسی اکسل، کنترل و مدیریت صفحات و ردیف‌ها است. به عنوان مثال، می‌توان با استفاده از VBA، ردیف‌هایی را که دارای داده خاصی هستند، فیلتر کرد، یا ردیف‌های خالی را حذف نمود. کد زیر نمونه‌ای است که تمامی ردیف‌های خالی در یک ستون خاص را پیدا کرده و حذف می‌کند:
vba  

Sub DeleteEmptyRows()

Dim rng As Range

Dim i As Long

Set rng = Range("A1", Range("A" & Rows.Count).End(xlUp))
For i = rng.Rows.Count To 1 Step -1

If Application.WorksheetFunction.CountA(rng.Rows(i)) = 0 Then

rng.Rows(i).EntireRow.Delete

End If

Next i

End Sub


در این کد، ابتدا ناحیه‌ای در ستون A تعریف می‌شود، سپس از پایین به بالا، هر ردیف بررسی شده و در صورت خالی بودن، حذف می‌گردد. این نوع اسکریپت‌ها، به شدت در پاک‌سازی داده‌ها و آماده‌سازی فایل‌های اکسل برای تحلیل‌های بعدی کاربرد دارند.
۲. کار با فایل‌های خارجی و وارد کردن داده‌ها
مجموعه نمونه کدهای VBA، کار با فایل‌های خارجی مانند CSV، TXT، و دیگر فایل‌های اکسل را نیز شامل می‌شود. برای مثال، وارد کردن داده‌ها از یک فایل CSV به داخل اکسل، به صورت زیر انجام می‌شود:
vba  

Sub ImportCSV()

Dim ws As Worksheet

Set ws = ThisWorkbook.Sheets("Sheet1")
With ws.QueryTables.Add(Connection:="TEXT;C:\Path\To\File.csv", Destination:=ws.Range("A1"))

.TextFileParseType = xlDelimited

.TextFileCommaDelimiter = True

.Refresh BackgroundQuery:=False

End With

End Sub


این کد، با استفاده از QueryTables، داده‌های فایل CSV را به ورق مشخص وارد می‌کند. این نوع اسکریپت‌ها، در فرآیندهای اتوماسیون، بسیار مفید هستند، چرا که نیاز به وارد کردن دستی داده‌ها را کاهش می‌دهند و کارایی را بالا می‌برند.
۳. ساخت و کنترل فرم‌های تعاملی و کاربرپسند
در پروژه‌هایی که نیاز به ورودی‌های کارب... ← ادامه مطلب در magicfile.ir