Ứng dụng VBA trong kế toán giúp tiết kiệm thời gian và tiền bạc

Nội dung được viết bởi Kim Thu

Giỏi kế toán sẽ là lợi thế của bạn trong thực hiện các nghiệp vụ chuyên môn. Nhưng nếu bạn giỏi kế toán mà biết thêm VBA thì như hổ mọc thêm cánh, giúp bạn gia tăng hiệu suất công việc, tiết kiệm thời gian và mở rộng tối đa cơ hội thăng tiến trong nghề nghiệp.

Vậy hôm nay hãy cùng Gitiho tìm hiểu VBA là gì và ứng dụng VBA trong kế toán như nào bạn nhé.

Lợi ích của việc sử dụng VBA Excel trong kế toán

Bạn có phải kế toán viên và đang dành hàng giờ cho các công việc đơn giản, lặp đi lặp lại trong Excel không? Bạn đang suy nghĩ xem có cách nào để tự động hóa các công việc kế toán của mình và tiết kiệm thời gian cũng như tiền bạc không? Nếu bạn đang băn khoăn điều này, có lẽ bạn cần phải học Excel VBA.

Excel VBA là ngôn ngữ lập trình miễn phí và được tích hợp ngay trong Microsoft Excel. Với VBA, bạn có thể tạo macro và các hàm tùy chỉnh trong Excel. 

  • Macro là chuỗi lệnh giúp bạn thực hiện các tác vụ lặp đi lặp lại trong Excel chỉ bằng một cú nhấp chuột. 
  • Hàm tùy chỉnh là các công thức giúp bạn tạo và tùy chỉnh trang tính theo nhu cầu sử dụng của riêng mình. 

VBA có thể giúp bạn tự động hóa các nhiệm vụ kế toán như nhập dữ liệu, đối chiếu, báo cáo và phân tích. Bằng cách tự động hóa các tác vụ này, bạn có thể:

  • Giảm sai sót
  • Cải thiện độ chính xác
  • Nâng cao chất lượng
  • Tăng năng suất

Nhờ đó, bạn có thể tiết kiệm thời gian và dành chúng cho các hoạt động hữu ích hơn hơn như lập kế hoạch, xây dựng chiến lược, ra quyết định và giải quyết vấn đề. 

Giờ đây, bạn đang muốn học Excel VBA nhưng không biết cách để tự học VBA hiệu quả và ứng dụng nó trong công việc kế toán của mình. Gitiho ở đây để giúp bạn. Tham khảo ngay khóa học Tuyệt đỉnh VBA của Gitiho giúp bạn có được những kỹ năng cần thiết để thành thạo công cụ tự động hóa này từ cơ bản đến nâng cao bạn nhé.

Ứng dụng VBA trong kế toán giúp tiết kiệm thời gian và tiền bạc

Case Study: Làm thế nào Excel VBA có thể tự động hóa các nhiệm vụ kế toán của bạn?

Có lẽ, Excel VBA đang được ứng dụng trong rất nhiều lĩnh vực, đặc biệt nó là công cụ không thể thiếu đối với những ai làm kế toán. Bạn có thể tham khảo cách mà Excel VBA đã giúp các kế toán viên thực hiện các nhiệm vụ tự động của mình như nào nhé.

Lập báo cáo tài chính hàng tháng

Hàng tháng, các kế toán viên thường phải lập các báo cáo tài chính tóm tắt kết quả hoạt động kinh doanh, bảng cân đối kế toán và báo cáo lưu chuyển tiền tệ của công ty. Nghe có vẻ tốn thời gian phải không?

Câu trả lời sẽ là không nếu bạn sử dụng Excel VBA để tự động hóa hầu hết quy trình và giúp công việc của bạn trở nên dễ dàng hơn. Bên cạnh đó, các báo cáo được lập phải chính xác, nhất quán và tuân theo tất cả các tiêu chuẩn kế toán liên quan. Kèm theo đó là các biểu đồ và đồ thị để trực quan hóa dữ liệu và nổi bật tình hình tài chính hiện tại của công ty.

Nếu như bạn không dùng VBA, việc tạo báo cáo tài chính hàng tháng có thể sẽ là một cơn ác mộng với bạn, bởi:

  • Tốn thời gian nhập dữ liệu theo cách thủ công từ nhiều nguồn khác nhau vào bảng tính. 
  • Định dạng kiểu dữ liệu bằng tay, đảm bảo dữ liệu tuân theo tiêu chuẩn GAAP.
  • Tiếp theo là tạo và cập nhật các biểu đồ, đồ thị tốn kha khá thời gian của bạn.
  • Thực hiện in và lưu báo cáo dưới dạng tệp PDF. 

Kết quả là bạn có khi phải mất hàng giờ để hoàn thành bản báo cáo và đôi khi tôi mắc lỗi hoặc không kịp deadline. Và mỗi cuối kỳ của bạn sẽ là một chuỗi ngày căng thẳng và mệt mỏi.

Nhờ VBA, bạn có thể tự động hóa toàn bộ quy trình lặp đi lặp lại này như thế nào?

  • Đầu tiên, hãy bắt đầu với macro để nhập dữ liệu từ các nguồn khác nhau như tệp CSV, database, website,.... vào trang tính. 
  • Sau đó, bạn cần viết một macro khác để định dạng và tạo kiểu cho dữ liệu. 
  • Tiếp theo, tạo một macro khác để cập nhật biểu đồ dựa trên dữ liệu. 
  • Và cuối cùng, tạo bản ghi macro để in và lưu báo cáo dưới dạng tệp PDF.
Lập báo cáo tài chính hàng tháng bằng VBA
Lập báo cáo tài chính hàng tháng bằng VBA

Kết quả, bạn có thể rút ngắn quy trình làm báo cáo tài chính hàng tháng trong vòng chưa đầy một giờ. Sếp có thể phải bất ngờ và gấp rút tăng lương cho bạn đấy.

Phân tích và tạo bảng thông tin chu trình doanh thu

Giả sử, bạn đang được yêu cầu phân tích chu trình doanh thu của công ty để từ đó xác định các yếu tố cần cải thiện. Chu trình doanh thu là quá trình tạo ra doanh thu cho công ty, từ việc đặt lịch tư vấn sản phẩm, dịch vụ cho đến thanh toán.

Bạn có thể áp dụng Excel VBA để phân tích chu trình doanh thu tự động như sau:

  • Tạo một macro có thể kết nối và trích xuất dữ liệu liên quan vào một trang tính chỉ bằng một cú nhấp chuột.
  • Tiếp theo, bạn hãy tạo một macro khác cập nhật các con số để đưa vào các công thức trên dữ liệu nhằm đo lường KPI  như các khoản phải thu, tỷ lệ thu nợ ròng, tỷ lệ từ chối, v.v. 
  • Tiếp tục viết mã VBA để tạo và cập nhật các bảng và biểu đồ tổng hợp để hiển thị các xu hướng và mô hình trong chu kỳ.
  • Cuối cùng là cập nhật trang tổng quan để theo dõi hiệu suất của chu trình doanh thu sao cho dữ liệu trong báo cáo mạch lạc và toàn diện.
Phân tích và tạo bảng thông tin chu trình doanh thu
Phân tích và tạo bảng thông tin chu trình doanh thu bằng VBA

Với Excel VBA, bạn có thể chạy nhiều bản phân tích về chu trình doanh thu trong vòng chưa đầy một ngày đấy.

Các trường hợp ứng dụng VBA trong kế toán cụ thể

Excel VBA có thể là một công cụ thực sự hữu ích giúp tiết kiệm thời gian và công sức đối với các tác vụ lặp đi lặp lại. Bạn có thể tham khảo một số mẫu code để thực hiện công việc trong một số trường hợp cụ thể như sau:

Nhập, sao chép, định dạng, xác thực dữ liệu

Nhập dữ liệu là một trong những công việc phổ biến và tốn nhiều thời gian nhất trong kế toán. Nếu bạn thường xuyên phải nhập dữ liệu từ nhiều nguồn khác nhau như hóa đơn, biên lai, sao kê ngân hàng,… vào bảng tính Excel. Bạn có thể dùng Excel VBA để tạo macro tự động hóa các tác vụ như:

  • Nhập dữ liệu từ các tệp bên ngoài như CSV, TXT, XML,....
  • Sao chép và dán dữ liệu từ bảng tính này sang bảng tính khác
  • Định dạng dữ liệu như ngày, số, tiền tệ,....
  • Xác thực dữ liệu, kiểm tra trùng lặp, lỗi,...
  • Điền vào dữ liệu còn thiếu như khoảng trống, số không, giá trị mặc định, v.v.

Ví dụ: bạn có thể sử dụng mã ImportCSV() dưới đây để nhập dữ liệu từ tệp CSV vào trang tính:

Sub ImportCSV()
    Dim FileName As String
    FileName = Application.GetOpenFilename("CSV Files (*.csv), *.csv")
    If FileName <> "False" Then
        With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & FileName _
        , Destination:=Range("$A$1"))
            .Name = "CSV"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 437
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = False
            .TextFileCommaDelimiter = True
            .TextFileSpaceDelimiter = False
            .TextFileColumnDataTypes = Array(1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
        End With
    End If
End Sub

Nhấn phím F5 để chạy mã, VBA sẽ mở một hộp thoại nơi bạn để bạn có thể tải tệp CSV lên Excel như sau:

Nhập các tệp CVS vào Excel bằng VBA
Nhập các tệp CVS vào Excel bằng VBA

Lưu ý: trước khi bạn chạy bất kỳ macro nào trên sổ làm việc của riêng mình, hãy đảm bảo bạn đã sao lưu dữ liệu của mình. Bởi nếu xảy ra sai sót thì bạn không thể hoàn tác macro. 

Đối chiếu: So sánh, Đánh dấu, Tính toán, Tóm tắt dữ liệu

Đối chiếu dữ liệu là một nhiệm vụ khá phổ biến và quan trọng khác trong kế toán. Bạn thường xuyên phải đối chiếu dữ liệu từ nhiều nguồn khác nhau như tài khoản ngân hàng, thẻ tín dụng, hóa đơn, biên lai,… để đảm bảo tính chính xác và đầy đủ. 

Đây có thể là các thao tác tương đối mất thời gian, nhưng khi dùng VBA, bạn có thể tạo macro để tự động hóa các tác vụ đối chiếu như:

  • So sánh dữ liệu từ các bảng tính hoặc sổ làm việc khác nhau
  • Đánh dấu hoặc xóa dữ liệu trùng khớp hoặc không khớp
  • Tính toán sự khác biệt hoặc phương sai giữa các tập dữ liệu
  • Tạo báo cáo tóm tắt hoặc bảng chỉ số để có kết quả đối chiếu

Ví dụ: bạn có thể sử dụng mã CompareWorksheets() này để so sánh hai trang tính và đánh dấu dữ liệu trùng khớp bằng màu xanh lá cây và dữ liệu không khớp bằng màu đỏ:

Sub CompareWorksheets()
    Dim ws1 As Worksheet
    Dim ws2 As Worksheet
    Dim cell As Range
    Dim diffCount As Long

    Set ws1 = Worksheets("Sheet1")
    Set ws2 = Worksheets("Sheet2")

    'Compare worksheets cell by cell
    For Each cell In ws1.UsedRange
        If cell.Value <> ws2.Range(cell.Address).Value Then
            'Highlight mismatching cells in red
            cell.Interior.Color = vbRed
            ws2.Range(cell.Address).Interior.Color = vbRed
            'Count number of differences
            diffCount = diffCount + 1
        Else
            'Highlight matching cells in green
            cell.Interior.Color = vbGreen
            ws2.Range(cell.Address).Interior.Color = vbGreen
        End If
    Next

    'Display number of differences
    MsgBox "Total differences: " & diffCount

End Sub

Khi nhấn phím F5, đoạn mã trên sẽ so sánh hai bảng tính có tên là “Sheet1” và “Sheet2” theo từng ô. Nó sẽ đánh dấu các ô phù hợp bằng màu xanh lá cây và các ô không khớp bằng màu đỏ. Đồng thời sẽ hiển thị số lượng khác biệt trong hộp thông báo.

Dùng VBA để so sánh dữ liệu
Dùng VBA để so sánh dữ liệu

Cập nhật, điền, định dạng, lưu báo cáo

Là một kế toán viên, bạn chắc chắn thường phải tạo báo cáo cho nhiều mục đích khác nhau như báo cáo tài chính, ngân sách, dự báo, kiểm toán, thuế,.... Những báo cáo này phải chính xác, nhất quán và tuân thủ các tiêu chuẩn và quy định. 

Và chắc chắn rồi, bạn có thể dùng VBA để tạo quy trình tự động hóa cho tác vụ lập báo cáo như:

  • Tạo và cập nhật mẫu báo cáo
  • Điền dữ liệu báo cáo từ nhiều nguồn khác nhau
  • Định dạng và tạo kiểu cho các phần tử báo cáo như đầu trang, chân trang, bảng, biểu đồ,...
  • Áp dụng định dạng có điều kiện và quy tắc xác thực dữ liệu để báo cáo dữ liệu
  • In và lưu file báo cáo ở nhiều định dạng khác nhau như PDF, XLSX, v.v.

Ví dụ: bạn có thể sử dụng mã CreateReportTemplate() này để tạo mẫu báo cáo có đầu trang, chân trang và bảng:

Sub CreateReportTemplate()
    Dim ws As Worksheet
    Dim tbl As ListObject

    Set ws = Worksheets.Add
    ws.Name = "Report"

    'Create header
    With ws.PageSetup
        .CenterHeader = "&""Arial,Bold""&14Report Title"
        .LeftHeader = "&""Arial""&10Date: &D"
        .RightHeader = "&""Arial""&10Page: &P of &N"
    End With

    'Create footer
    With ws.PageSetup
        .CenterFooter = "&""Arial""&10Report Footer"
        .LeftFooter = "&""Arial""&10Prepared by: &U"
        .RightFooter = "&""Arial""&10Approved by: "
    End With

    'Create table
    Set tbl = ws.ListObjects.Add(xlSrcRange, Range("A1:D10"), , xlYes)
    tbl.Name = "Table1"
    tbl.TableStyle = "TableStyleMedium2"

    'Populate table headers
    tbl.HeaderRowRange(1) = "Account"
    tbl.HeaderRowRange(2) = "Debit"
    tbl.HeaderRowRange(3) = "Credit"
    tbl.HeaderRowRange(4) = "Balance"

End Sub

Đoạn mã trên sẽ tạo một bảng tính mới có tên “Báo cáo” và thêm đầu trang, chân trang và bảng vào đó. Bạn có thể tùy chỉnh các thông số của header, footer, table theo nhu cầu của mình.

Dùng VBA để lập báo cáo
Dùng VBA để lập báo cáo

Phân tích: Tính toán, Lọc, Pivot, Bảng điều khiển

Kế toán viên cũng thường xuyên phải phân tích dữ liệu từ nhiều nguồn khác nhau như báo cáo tài chính, ngân sách, dự báo, kiểm toán, thuế,.... để hiểu rõ hơn và đưa ra các lời khuyên cho các nhà quản lý. 

Bạn có thể dùng VBA để tạo macro để tự động hóa các tác vụ phân tích như:

  • Thực hiện tính toán và công thức trên tập dữ liệu
  • Tạo và cập nhật biểu đồ và đồ thị để trực quan hóa các xu hướng dữ liệu
  • Áp dụng các bộ lọc và slicer cho các tập dữ liệu để truy suất và phân tích dữ liệu
  • Tạo và cập nhật các biểu đồ trục để tóm tắt và tổng hợp dữ liệu
  • Tạo và cập nhật trang dashboard để theo dõi và đo lường hiệu suất

Ví dụ: bạn có thể sử dụng mã này CreateChartSheet() để tạo bảng biểu đồ hiển thị doanh thu hàng tháng của các sản phẩm khác nhau:

Sub CreateChartSheet()
    Dim ws As Worksheet
    Dim rng As Range
    Dim cht As Chart
    Dim i As Long

    Set ws = Worksheets("Data")
    Set rng = ws.Range("A1:E13")

    'Delete existing chart if it exists
    On Error Resume Next
    Charts("Chart_1").Delete
    On Error GoTo 0

    'Create chart
    Set cht = Charts.Add
    cht.Name = "Chart_1"

    'Set chart source data
    cht.SetSourceData Source:=rng

    'Set chart type
    cht.ChartType = xlColumnClustered

    'Set chart title
    cht.HasTitle = True
    cht.ChartTitle.Text = "Monthly Revenue by Product"

    'Set chart axis titles
    cht.Axes(xlCategory).HasTitle = True
    cht.Axes(xlCategory).AxisTitle.Text = "Month"
    cht.Axes(xlValue).HasTitle = True
    cht.Axes(xlValue).AxisTitle.Text = "Revenue"
    
    'Set chart legend
    cht.HasLegend = True
    cht.Legend.Position = xlBottom
    
End Sub

Đoạn mã trên sẽ tạo một trang biểu đồ mới có tên "Chart_1"  cùng với dữ liệu, tiêu đề, tiêu đề trục và chú giải. Lưu ý rằng thao tác này cũng xóa mọi bảng biểu đồ “Chart_1”  đã tạo trước đó có tên giống vậy. Ngoài ra, bạn có thể tùy chỉnh các thông số của biểu đồ theo nhu cầu của mình.

Dùng VBA để lập biểu đồ doanh thu
Dùng VBA để lập biểu đồ doanh thu

Kết luận

Trên đây là những ứng dụng VBA trong kế toán cũng với một số mẫu code cho các trường hợp sử dụng cụ thể. Hy vọng bạn có thể sử dụng Excel VBA để tự động hóa các tác vụ kế toán và tiết kiệm thời gian cũng như tiền bạc nhé. Chúc bạn thành công!

Nếu công việc của bạn liên quan nhiều đến quản lý, phân tích dữ liệu và làm báo cáo trên bảng tính thì giỏi Excel thôi chưa đủ. Nếu chỉ dùng Excel, bạn sẽ thường xuyên phải OT đến mỗi kỳ làm báo cáo, stress vì sai dữ liệu do nhập thủ công, hay gặp vấn đề các hàm load chậm do dữ liệu quá nặng,...

Có lẽ bạn đã từng nghe ở đâu đó về công cụ lập trình VBA trên Excel, giúp bạn tiết kiệm tối đa thời gian làm việc nhờ làm báo cáo tự động, phân tích và xử lý số liệu chính xác tuyệt đối, đặc biệt công cần lọ mọ sửa thủ công,...

Nhưng bạn không dám nghĩ một ngày nào đó mình sẽ dùng VBA bởi vì mình không biết lập trình, sửa code và gỡ lỗi mã. Tin mình đi, bạn hoàn toàn có thể thành thạo công cụ này ngay cả khi không giỏi Excel, không biết lập trình với khóa học VBAG01: Tuyệt đỉnh VBA - Tự động hóa Excel với lập trình VBA tại Gitiho.

Tất tần tật những kiến thức từ cơ bản đến nâng cao về cách sử dụng VBA trong Excel sẽ được đề cập khiến mọi thao tác thủ công trên Excel gần như được loại bỏ hoàn toàn. 

Hãy nhấn vào Học thử hoặc Đăng ký ngay để cảm nhận sự “vi diệu” mà VBA mang lại cho công việc của bạn nhé!

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông