Tự động hoá công việc kế toán dịch vụ bằng VBA Excel

Nói đến phần mềm hữu dụng dành cho người làm công việc văn phòng, kế toán, hành chính nhân sự, lao động tiền lương thì Word , Excel và PowerPoint được xem là những ứng dụng căn bản hỗ trợ công việc thường xuyên của giới văn phòng.

Riêng đối với người làm nghề kế toán dịch vụ, Excel là phần mềm hữu ích giúp họ hoàn thành công việc liên quan nhiều đến con số, tính toán và tạo lập sổ sách báo cáo cho cơ quan thuế & tổng hợp số liệu cho chủ doanh nghiệp.

Nói đến Excel dành cho Kế Toán, không thể không nói đến VBA , ngôn ngữ lập trình giúp Tự động hoá công việc kế toán dịch vụ và hoàn thành các loại sổ sách, báo cáo chuyên nghiệp chỉ với 1 cú lick chuột.

Sau đây là hướng dẫn cơ bản giúp bạn tự động hoá công việc liên quan đến sổ sách kế toán.

Bước 1 : tạo các Sheet, bảng biểu dành cho những làm dịch vụ kế toán bao gồm các sheet danh mục, Sheeet Nhật Ký Chung, Sheet Sổ Chi Tiết và Sheet Báo Cáo Tài Chính.

Minh họa Sheet Danh mục Tài Khoản

Danh sách các loại sổ cần in

Sheet Bảng Cân Đối Số Phát Sinh

Bước 2 : Tạo công thức cho các sheet bảng biểu kế toán cụ thể đã được lập ra ở trên dành riêng cho từng nghành nghề  ( Sản xuất , Thương Mại, Dịch Vụ,..  ) mà bạn  nhận làm thuê ngoài dịch vụ kế toán theo yêu cầu cho khách hàng.

Ví Dụ về tạo công thức trên Sheet Cân Đối Số Phát Sinh
Ô E11 : ( Số phát sinh nợ )
=SUM(OFFSET(psn111,1,0,2,1))

Ô F11 : ( Số phát sinh Có )
=SUM(OFFSET(psc111,1,0,2,1))

Ô G11 : ( Số Dư Cuối Kỳ Nợ )
=IF((C11+E11)>(D11+F11),(C11+E11)-(D11+F11),0)

Ô H11 : ( Số Dư Cuối Kỳ Có )
=IF((F11+D11)>(C11+E11),(F11+D11)-(C11+E11),0) 

Ô E21 :
=SUMIF(SH_TK1,$B21,ST_NO1)

Bước 3 : Tự động hoá bằng VBA

Sau khi hoàn tất khâu tạo công thức cho Sheet kế toán phù hợp với mô hình sản xuất và kinh doanh mà bạn đang nhận làm dịch vụ kế toán, chúng ta sẽ tiến hàng " Tự động hóa công việc kế toán " :

Theo ví dụ từ công thức trên sheet bảng cân đối phát sinh chúng ta sẽ tạo code VbA công thức tương ứng cho  cho từng Sheet.

Ví Dụ công thức Công thức cho Ô E21

Hiển thị trên Sheet :

Ô E21 :
=SUMIF(SH_TK1,$B21,ST_NO1)

Code VBA tạo công thức hiển thị trên Sheet CDSPS với  2 dạng cú pháp lệnh cơ bản ( FormulaR1C1 & Formula )  :

Sheets("CDSPS").Select ' Chọn Sheet CDSPS

Tạo Công Thức Dạng FormulaR1C1 : 

Range("E21").Select
ActiveCell.FormulaR1C1 = "=SUMIF(SH_TK1,RC2,ST_NO1)"

Tạo Công Thức Dạng Formula : 

Range("E21").Formula="SUMIF(SH_TK1,$B21,ST_NO1)"

Tùy theo ý thích bạn có thể chọn cách tạo công thức trên Sheet dạng Formula hay FormulaR1C1 , từ góc độ cá nhân thì mình thích dạng code  Formula hơn vì cách này dễ kiểm tra lại công thức VBA & công thức hiển thị trên Sheet dạng còn lại thì " khả năng đọc code của bạn cực kỳ nhạy bén ".

Sau khi tạo công thức chúng ta sẽ sao chép công thức một cách tự động xuống các dòng phía bên dưới bằng code VBA sau đây :

Lệnh copy trong VBA có 2 lệnh thường dùng sau đây :

FillDown sao chép công thức xuống ô bên dưới :

Range("I2:l2001").FillDown ' Sao chep cong thuc từ ô I2 xuống các ô phía bên dưới cho đến ô I2001

Selection.Copy sao chép, lấy giá trị :

Selection.Copy
Range("Datev1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

Sau khi hoàn tất chép công thức - giá trị chúng ta sẽ tự động thêm công việc khác như ẩn cột, sắp xếp lại thứ tự danh sách, tạo trích lọc, Pivot :

Ví dụ Sắp xếp lại vùng A2:m8001 trên Sheet NK1 :

Sheets("NK1").Select
Range("A2:m8001").Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom
Range("a2").Select

Ví dụ trích lọc bảng tính SQ vùng dữ liệu SQ_tgnd  :

Sheets("SQ").Select
Range("A12").Select
Range("SQ_tgnd").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        Range("J13:J14"), Unique:=False

Sau khi hoàn tất các bước trên chúng ta sẽ tiếp tục thiết lập công việc tự động in sổ sách & báo cáo. 

Ví dụ lệnh in toàn bộ Sổ Cái :

Sub INTOANBOSOCAI()
Dim i
With Range("cdsps!b1")
    For i = 10 To 165
    If .Offset(i, 7) = 1 Then
        Range("sc!c11").Value = .Offset(i, 0)
        Sheets("sc").Select
        SOCAI
        ActiveSheet.PrintOut
    End If
    Next i
    End With
End Sub

Và cuối cùng là việc tạo nút bấm bằng shape và gắn lệnh thực thi công việc kế toán như in sổ, tạo sổ cái, trích lọc,....

Tạo Shape Hoàn thiện NKý 

Gán code thực thi lệnh VBA vào Shape vừa tạo :

Gán code lệnh vào nút Shape đã tạo

Phụ Lục Hàm Excel thường dùng :

Phụ Lục Hàm VBA phổ biến :

Các hàm VBA tự tạo hỗ trợ cho người theo nghề Dịch vụ kế toán trọn gói.

  • [VBA hàm chuyển đổi font Vni sang UniCode] https://blog.hocexcel.online/huong-dan-cach-chuyen-font-tcvn3-hay-vni-sang-unicode-trong-excel.html : Ý nghĩa của hàm này giúp bạn chuyển đổi font Vni sang UniCode bằng code VBA.
  • [VBA hàm chuyển số thành chữ cực kỳ hữu ích cho việc in phiếu thu chi, công nợ,... dành cho người kế toán, bán hàng ] http://www.taikhoanketoan.com/p/ham-excel-ke-toan-chuyen-oi-so-thanh.html

Addin & Tools VBA giúp tự động hóa công việc Excel, hỗ trợ người làm dịch vụ kế toán, dân văn phòng giúp  giảm bớt, tiết kiệm tối đa thời gian hoàn tất công việc làm báo cáo, sổ sách, quản lý hồ sơ, ... : 

  • [Tool chuyển đổi số thành chữ ] https://blogchiasekienthuc.com/hoc-office/cach-doi-so-thanh-chu-trong-excel.html
  • [Tool : TVEXCEL01 công cụ hỗ trợ chuyển đổi mã từ Font Unicode -> VNI,ABC hoặc VNI -> Unicode ] https://webketoan.com/threads/42894-file-chuyen-ma-tu-font-unicode-vni-abc-hoac-vni-unicode
  • [36 tiện ích hay ho dành cho Sói Già Excel ] https://exceleasy1.blogspot.com/2019/04/tong-hop-cac-tien-tich-excel-36-tien.html 
  • [Trở thành chuyên gia Excel nhờ các công cụ hỗ trợ cực đỉnh cho dân văn phòng ] https://www.slidefactory.vn/chuyen-gia-excel

Mẹo vặt cách làm hay dành cho người thích sử dụng phần mềm Excel :

  • [Mẹo hay giúp chuyển đổi tiền ngoại tệ bằng chữ thành chữ] https://www.ketoan.vn/16448/meo-chuyen-doi-nhanh-so-tien-ngoai-te-thanh-chu-trong-excel

Tham khảo Thư viện hàm VBA dành cho Excel :
  • https://www.giaiphapexcel.com/diendan/forums/th%C6%B0-vi%E1%BB%87n-m%C3%A3-l%E1%BA%ADp-tr%C3%ACnh.73/
  • https://tanducits.com/thu-thuat/top-100-ma-excel-vba-macros-huu-dung
  • https://tuhocvba.net/threads/ky-thuat-lap-trinh-dll-cho-vba-bao-ve-code-vba-tot-nhat-hien-nay.523/

== End Tự động hoá công việc kế toán dịch vụ bằng VBA Excel ==