Hướng dẫn tạo sổ sách kế toán máy ( ghi sổ nhật ký chung ) cực dễ bằng VBA Excel
🔥 Hot Topics :
Hôm nay Gia Bảo hướng dẫn các bạn cách tạo sổ nhật ký chung - dành cho các bạn làm kế toán máy bằng phần mềm Excel kết hợp ngôn ngữ lập trình VBA.
Làm kế toán máy được nhiều doanh nghiệp mới thành lập ứng dụng trong thời gian đầu khi chứng từ phát sinh chưa nhiều. Đây cũng là cách làm được nhiều bạn nhận làm dịch vụ kế toán tại nhà và các công ty chuyên cung cấp dịch vụ kế toán trọn gói quan tâm lựa chọn.
Khi chứng từ kế toán ngày càng phát sinh nhiều và phức tạp các bạn có thể mua phần mềm kế toán máy chuyên dụng như :
- MiSa
- FAST Accounting
- EFFECT
- BRAVO
- LinkQ
- Kế toán 1A
- Smart Pro
- 3S Accounting
- Phần mềm kế toán Tony
- Phần mềm kế toán GAMA
- Phần mềm kế toán AsiaSoft
- ,...
Còn sau đây là các bước cơ bản giúp bạn hoàn thiện sổ nhật ký bằng phần mềm Excel.
Bước 1 Tạo các sổ nhật ký đặc biệt ( giúp bạn nhập liệu )
- Tạo Sổ Bán Ra
- Tạo Sổ Mua Vào
- Tạo sổ chứng từ ngân hàng
- Tạo sổ chứng từ khác ( tiền mặt, kết chuyển, BHXH,... )
Hình ảnh minh họa tạo cột tiêu đề sổ nhật ký đặc biệt :
Tạo Sheet : khac [ Sổ nhật đặc biệt khác ]
Tạo Sheet : br [ Sổ nhật đặc biệt Bán Ra ]
Tạo Sheet : mv [ Sổ nhật đặc biệt Mua Vào ]
Tạo Sheet : NH [ Sổ nhật đặc biệt Sổ Phụ Ngân Hàng ]
Bước 2 : Tạo sổ Nhật ký chung bằng VBA tổng hợp toàn bộ chứng từ, sau khi bạn nhập đầy đủ số liệu vào sổ kế toán đặc biệt.
Tạo sổ trung gian NK1 : ( Sổ nhật ký trung gian )
Tạo Sổ NK ( Sổ Nhật Ký Chung )
Lưu ý trên Sổ nhật ký chung có shape hình vuông dùng gán macro thực thi các câu lệnh giúp tự động hóa công việc xử lý dữ liệu, tạo sổ nhật ký chung bằng sổ kế toán máy bằng VBA - Excel.
Bạn xem thêm hướng dẫn tạo module marcro tự tạo, shape gán câu lệnh theo link bài viết dưới đây nhé.
https://www.digitalnomad.vn/2021/06/tu-dong-hoa-cong-viec-ke-toan-dich-vuYor956.html
Sau khi hoàn thiện các bước tạo sổ các bạn Tạo Module Code như sau ( đây là marcro do người tự tạo bằng cách sử dụng ngôn ngữ lập trình VBA được gán vào Shape Hoàn thiện Nký ) :
Sub nk1()
Range("NK1!a2:m4002").ClearContents
'Hoan chinh phan ban ra
Sheets("br").Select
Range("I2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-8]<>"""",RC[-5]&"" hñ ""&RC[-8],RC[-5])"
Range("j2").Select
ActiveCell.FormulaR1C1 = "=""Thueá GTGT ñaàu ra hñ ""&RC[-9]"
Range("k2").Select
ActiveCell.FormulaR1C1 = "=RC[-4]"
Range("l2").Value = "3331"
Range("I2:l1001").FillDown
'Chep ban ra
Range("BR!A2:a1001").Copy
Range("NK1!a2").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("BR!b2:l1001").Copy
Range("NK1!c2").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'Hoan chinh phan mua vao truoc khi chep
Sheets("mv").Select
Range("i2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-8]<>"""",RC[-5]&"" hñ ""&RC[-8],RC[-5])"
Range("j2").Select
ActiveCell.FormulaR1C1 = "=""Thueá GTGT ñaàu vaøo hñ ""&RC[-9]"
Range("L2").Select
ActiveCell.FormulaR1C1 = "=RC[-4]"
Range("k2").Value = "133-1"
Range("i2:l1001").FillDown
'Chep mua vao
Range("MV!A2:a1001").Copy
Range("NK1!a1002").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("MV!b2:l1001").Copy
Range("NK1!C1002").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'Hoan chinh phan ngan hang truoc khi chep
Sheets("nh").Select
Range("h2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-7]<>"""",RC[-4]&"" hñ ""&RC[-7],RC[-4])"
Range("h2:h1001").FillDown
'Chep ngan hang
Range("NH!A2:A1001").Copy
Range("NK1!a2002").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("NH!B2:E1001").Copy
Range("NK1!C2002").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("NH!F2:h1001").Copy
Range("NK1!H2002").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'Hoan thanh phan khac truoc khi chep
Sheets("khac").Select
Range("H2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-7]<>"""",RC[-4]&"" hñ ""&RC[-7],RC[-4])"
Range("h2:h1001").FillDown
'Chep cac phat sinh khac
Range("KHAC!A2:A1001").Copy
Range("NK1!a3002").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("KHAC!B2:E1001").Copy
Range("NK1!C3002").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("KHAC!F2:h1001").Copy
Range("NK1!H3002").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'Sort lai de loai bo nhung dong trong
Sheets("NK1").Select
Range("A2:m4001").Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
Range("a2").Select
'Danh phieu thu chi
DanhPTC
End Sub
Sub DanhPTC()
Dim j, k, thu, chi As Integer
k = 1: thu = 1: chi = 1
With Range("c1")
Do While IsEmpty(.Offset(k, 0).Value) = False
If .Offset(k, 5) = "111" Then
.Offset(k, -1).Value = "PT" & Format(Month(.Offset(0, 7)), "00") & "-" & Format(thu, "00")
thu = thu + 1
ElseIf .Offset(k, 6) = "111" Then
.Offset(k, -1).Value = "PC" & Format(Month(.Offset(0, 7)), "00") & "-" & Format(chi, "00")
chi = chi + 1
End If
k = k + 1
Loop
End With
End Sub
Sub lamnk()
nk1
Sheets("nk").Select
'Chep noi dung tu Nk1 sang Nk de lam nhat ky chung
Range("nk1!B2:C1001").Copy Destination:=Range("NK!b3")
Range("nk1!J2:J1001").Copy Destination:=Range("NK!d3")
Range("nk1!H2:I1001").Copy Destination:=Range("NK!e3")
Range("nk1!f2:g1001").Copy Destination:=Range("NK!g3")
'Ngay thang ghi so
Range("A3").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC3="""",""End"",IF(MONTH(RC3)<>MONTH(R2C8),R2C8,RC3))"
Range("A3:A1002").FillDown
Range("A3:d1002").Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'chep 4 lan phan 1
Range("A3:D1002").Copy Destination:=Range("a1003")
Range("A3:D1002").Copy Destination:=Range("a2003")
Range("A3:D1002").Copy Destination:=Range("a3003")
'Chep 2 lan tai khoan ghi no tien
Range("E3:E1002").Copy
Range("F1003").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'Chep 2 lan tai khoan ghi co tien
Range("F3:F1002").Copy
Range("E1003").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'chep 2 lan ten thue
Range("NK1!k2:k1001").Copy Destination:=Range("Nk!D2003")
Range("NK1!k2:k1001").Copy Destination:=Range("Nk!D3003")
'Chep 2 lan tai khoan thue
Range("NK1!l2:l1001").Copy Destination:=Range("Nk!e2003")
Range("NK1!l2:l1001").Copy Destination:=Range("Nk!f3003")
Range("NK1!m2:m1001").Copy Destination:=Range("Nk!f2003")
Range("NK1!m2:m1001").Copy Destination:=Range("Nk!e3003")
'Chep 4 lan so tien
Range("g3:g1002").Copy Destination:=Range("h1003")
Range("h3:h1002").Copy Destination:=Range("g2003")
Range("h3:h1002").Cut Destination:=Range("h3003")
'Tron lai 4 lan
Range("i3").Value = "1"
Range("i3:i1002").DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, _
Step:=2, Trend:=False
Range("i3:i1002").Copy Destination:=Range("i1003")
Range("i2003").Value = "2"
Range("i2003:i3002").DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, _
Step:=2, Trend:=False
Range("i2003:i3002").Copy Destination:=Range("i3003")
Range("A3:I4002").Sort Key1:=Range("I3"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'Xoa dang lan 1
'Range("a3").Select
'Cells.Find(What:="end", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
' xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Activate
' Range(Selection, Selection.End(xlDown)).Select
' Selection.EntireRow.Delete
'Xoa dong lan 2
Range("I3").Select
ActiveCell.FormulaR1C1 = "=IF((RC[-2]+RC[-1])=0,""hihihaha"","""")"
Range("i3:i4002").FillDown
Selection.AutoFilter Field:=9, Criteria1:="hihihaha"
Range("I3:I4002").Select
Selection.EntireRow.Delete
Selection.AutoFilter Field:=9
Range("h2").Select
End Sub
Như vậy là Gia Bảo đã hoàn thiện nội dung bài viết Hướng dẫn tạo sổ sách kế toán máy ( ghi sổ nhật ký chung ) cực dễ bằng VBA Excel.
Chúc các bạn thành công.