تدريب اكسيل

8 أكواد VBA جاهزة للتطبيق في المحاسبة باستخدام Excel

أكواد VBA جاهزة للتطبيق في المحاسبة باستخدام Excel

Excel هو أداة قوية تُستخدم على نطاق واسع في المحاسبة لتحليل البيانات، وإنشاء التقارير، وأتمتة العمليات. يمكن تعزيز وظائف Excel باستخدام برمجة VBA (Visual Basic for Applications) لزيادة الكفاءة والدقة في تنفيذ المهام المتكررة والمعقدة. في هذا المقال، سنستعرض مجموعة من أكواد VBA الجاهزة للاستخدام في المحاسبة.

1. كود لحساب إجمالي العمود:

هذا الكود يقوم بحساب مجموع القيم في عمود معين ويعرض النتيجة في رسالة منبثقة. يمكن استخدامه لحساب إجمالي المبيعات، المصاريف، أو أي قيمة مالية أخرى.

Sub SumColumn()
    Dim total As Double
    total = Application.WorksheetFunction.Sum(Range("B2:B100"))
    MsgBox "إجمالي العمود B هو: " & total
End Sub

النتيجة المتوقعة: عرض إجمالي القيم في العمود B من الخلية B2 إلى B100 في رسالة منبثقة.

2. كود لتحليل البيانات المالية باستخدام التنسيق الشرطي:

هذا الكود يطبق تنسيقًا شرطيًا لتحديد القيم السلبية (الخسائر) في عمود معين ويقوم بتلوينها بالأحمر.

Sub HighlightNegativeValues()
    Dim ws As Worksheet
    Set ws = Sheets("Sheet1")

    With ws.Range("B2:B100")
        .FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, Formula1:="=0"
        .FormatConditions(ws.Range("B2:B100").FormatConditions.Count).SetFirstPriority
        .FormatConditions(1).Interior.Color = RGB(255, 0, 0)
    End With
End Sub

النتيجة المتوقعة: تلوين جميع القيم السلبية في العمود B من الخلية B2 إلى B100 باللون الأحمر لتسهيل اكتشاف الخسائر.

3. كود لإضافة ختم “مدفوع” إلى خلايا معينة:

في المحاسبة، غالبًا ما تحتاج إلى تتبع المدفوعات. هذا الكود يضيف ختم “مدفوع” إلى الخلايا التي تحتوي على القيم المدفوعة.

Sub AddPaidStamp()
    Dim ws As Worksheet
    Dim cell As Range

    Set ws = Sheets("Sheet1")

    For Each cell In ws.Range("C2:C100")
        If cell.Value = "Paid" Then
            cell.Offset(0, 1).Value = "مدفوع"
        End If
    Next cell
End Sub

النتيجة المتوقعة: إدراج كلمة “مدفوع” في العمود D لكل صف يحتوي على “Paid” في العمود C.

4. كود لإعداد تقرير مالي شهري:

هذا الكود ينشئ تقريرًا شهريًا بسيطًا يجمع البيانات المالية من أوراق متعددة في المصنف.

Sub GenerateMonthlyReport()
    Dim wsReport As Worksheet
    Dim wsData As Worksheet
    Dim lastRow As Long
    Dim reportRow As Long

    Set wsReport = Sheets.Add
    wsReport.Name = "Monthly Report"

    wsReport.Range("A1").Value = "التقرير الشهري"
    wsReport.Range("A2").Value = "تاريخ التقرير: " & Date

    reportRow = 4

    For Each wsData In ThisWorkbook.Worksheets
        If wsData.Name <> wsReport.Name Then
            lastRow = wsData.Cells(wsData.Rows.Count, "A").End(xlUp).Row
            wsData.Range("A1:C" & lastRow).Copy wsReport.Cells(reportRow, 1)
            reportRow = reportRow + lastRow
        End If
    Next wsData
End Sub

النتيجة المتوقعة: إنشاء ورقة جديدة باسم “Monthly Report” تحتوي على البيانات المالية من جميع الأوراق الأخرى في المصنف.

5. كود لحساب ضريبة القيمة المضافة (VAT):

هذا الكود يحسب ضريبة القيمة المضافة لمجموعة من القيم في عمود معين ويضيف النتائج إلى عمود جديد.

Sub CalculateVAT()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim VATRate As Double
    Dim i As Long

    Set ws = Sheets("Sheet1")
    VATRate = 0.15 ' نسبة ضريبة القيمة المضافة 15%

    lastRow = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row

    For i = 2 To lastRow
        ws.Cells(i, 3).Value = ws.Cells(i, 2).Value * VATRate
        ws.Cells(i, 4).Value = ws.Cells(i, 2).Value + ws.Cells(i, 3).Value
    Next i
End Sub

النتيجة المتوقعة: حساب ضريبة القيمة المضافة بنسبة 15% لكل قيمة في العمود B، ووضع ضريبة القيمة المضافة في العمود C والإجمالي بعد الضريبة في العمود D.

6. كود لإعداد فواتير تلقائية:

يمكن لهذا الكود إنشاء فواتير تلقائيًا استنادًا إلى بيانات العملاء والمبيعات.

Sub GenerateInvoice()
    Dim wsTemplate As Worksheet
    Dim wsInvoice As Worksheet
    Dim wsData As Worksheet
    Dim lastRow As Long
    Dim i As Long

    Set wsTemplate = Sheets("Invoice Template")
    Set wsData = Sheets("Sales Data")

    lastRow = wsData.Cells(wsData.Rows.Count, 1).End(xlUp).Row

    For i = 2 To lastRow
        Set wsInvoice = wsTemplate.Copy(After:=Sheets(Sheets.Count))
        wsInvoice.Name = "Invoice " & i

        With wsInvoice
            .Range("B5").Value = wsData.Cells(i, 1).Value ' اسم العميل
            .Range("B6").Value = wsData.Cells(i, 2).Value ' تاريخ البيع
            .Range("B7").Value = wsData.Cells(i, 3).Value ' المبلغ
        End With
    Next i
End Sub

النتيجة المتوقعة: إنشاء فواتير متعددة بناءً على بيانات البيع، مع استخدام قالب الفاتورة من ورقة “Invoice Template”.

7. كود لمقارنة بيانات المبيعات بين فترتين:

يتيح لك هذا الكود مقارنة بيانات المبيعات بين فترتين زمنيتين مختلفتين.

Sub CompareSalesData()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long

    Set ws = Sheets("Sales Comparison")
    lastRow = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row

    For i = 2 To lastRow
        If ws.Cells(i, 2).Value > ws.Cells(i, 3).Value Then
            ws.Cells(i, 4).Value = "Increased"
        ElseIf ws.Cells(i, 2).Value < ws.Cells(i, 3).Value Then
            ws.Cells(i, 4).Value = "Decreased"
        Else
            ws.Cells(i, 4).Value = "No Change"
        End If
    Next i
End Sub

النتيجة المتوقعة: مقارنة مبيعات الفترة 1 (العمود B) والفترة 2 (العمود C) ووضع النتيجة (Increased, Decreased, No Change) في العمود D.

8. كود لتتبع الميزانية والمصروفات:

هذا الكود يساعد في تتبع الميزانية مقابل المصروفات الفعلية وإظهار الفائض أو العجز.

Sub TrackBudget()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long

    Set ws = Sheets("Budget Tracking")
    lastRow = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row

    For i = 2 To lastRow
        ws.Cells(i, 4).Value = ws.Cells(i, 2).Value - ws.Cells(i, 3).Value ' فائض/عجز
        If ws.Cells(i, 4).Value < 0 Then
            ws.Cells(i, 4).Interior.Color = RGB(255, 0, 0) ' تلوين الخلايا التي بها عجز باللون الأحمر
        End If
    Next i
End Sub

النتيجة المتوقعة: حساب الفرق بين الميزانية (العمود B) والمصروفات الفعلية (العمود C) ووضع النتيجة في العمود D مع تمييز الخلايا التي بها عجز باللون الأحمر.

الخلاصة

باستخدام أكواد VBA المذكورة أعلاه، يمكنك أتمتة العديد من المهام المحاسبية في Excel، مما يوفر الوقت ويزيد من دقة العمليات. سواء كنت ترغب في إعداد تقارير مالية، تتبع الميزانية، حساب الضرائب، أو حتى إنشاء فواتير تلقائيًا، يمكن لهذه الأكواد أن تكون مفيدة للغاية في تبسيط وتحسين سير العمل المحاسبي.

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى